📜  java 从字符串中删除空行 - Java (1)

📅  最后修改于: 2023-12-03 14:42:17.630000             🧑  作者: Mango

Java 从字符串中删除空行

在字符串中,空行是指不包含任何字符的行,只有回车或换行符的行。在某些情况下,需要从一段文本中删除空行。在 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 匹配回车或换行符。

完整的 Java 代码
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),这样只会删除连续空行中的多余部分,而不是完全删除空行。