删除所有空行
我认为这并不难做到,但我想用String.replaceAll删除所有空行(或Java中仅包含空格和选项卡的行)。
我的正则表达式看起来像这样:
s = s.replaceAll ("^[ |\t]*\n$", "");
但它不起作用。
我环顾四周,但只找到了用于删除没有空白或选项卡的空行的正则表达式。
我认为这并不难做到,但我想用String.replaceAll删除所有空行(或Java中仅包含空格和选项卡的行)。
我的正则表达式看起来像这样:
s = s.replaceAll ("^[ |\t]*\n$", "");
但它不起作用。
我环顾四周,但只找到了用于删除没有空白或选项卡的空行的正则表达式。
试试这个:
String text = "line 1\n\nline 3\n\n\nline 5";
String adjusted = text.replaceAll("(?m)^[ \t]*\r?\n", "");
// ...
请注意,正则表达式匹配空格、制表符或管道字符![ |\t]
B.t.w.,正则表达式也可以做到这一点。(?m)^\s+$
我不知道Java中正则表达式的语法,但它是你正在寻找的正则表达式。/^\s*$[\n\r]{1,}/gm
你可能在Java中这样写:
s = s.replaceAll("(?m)^\\s*$[\n\r]{1,}", "");
我用JavaScript测试了它,它工作正常。