📅  最后修改于: 2023-12-03 14:42:17.630000             🧑  作者: Mango
在字符串中,空行是指不包含任何字符的行,只有回车或换行符的行。在某些情况下,需要从一段文本中删除空行。在 Java 中,可以使用正则表达式的方式来实现。
String input = "This is a\n\n\ntext\nwith\nempty\nlines.";
String output = input.replaceAll("(?m)^[ \t]*\r?\n", "");
System.out.println(output);
运行结果:
This is a
text
with
empty
lines.
正则表达式 (?m)^[ \t]*\r?\n
匹配了所有空行并将其替换成了空字符串。其中,(?m)
表示多行模式,^
匹配行开头,[ \t]*
匹配任意数量的空格或制表符,\r?\n
匹配回车或换行符。
public class RemoveEmptyLines {
public static void main(String[] args) {
String input = "This is a\n\n\ntext\nwith\nempty\nlines.";
String output = input.replaceAll("(?m)^[ \t]*\r?\n", "");
System.out.println(output);
}
}
在实际使用中,可以将上述代码封装成一个方法,方便重复使用。例如:
public static String removeEmptyLines(String input) {
return input.replaceAll("(?m)^[ \t]*\r?\n", "");
}
(?m)^[ \t]*(?=$|\r?\n)
,这样只会删除连续空行中的多余部分,而不是完全删除空行。