当前位置:首页 > Java

java如何删除空行

2026-03-21 00:36:14Java

删除Java字符串中的空行

使用正则表达式替换空行是最常见的方法。空行通常由行首和行尾之间的空白字符(包括换行符)组成。

String text = "Line1\n\nLine2\n \nLine3";
String result = text.replaceAll("(?m)^[ \t]*\r?\n", "");
System.out.println(result);

正则表达式说明:

  • (?m) 启用多行模式,使 ^$ 匹配每行的开始和结束
  • ^ 匹配行首
  • [ \t]* 匹配零个或多个空格或制表符
  • \r?\n 匹配Windows或Unix风格的换行符

使用Apache Commons Lang库

如果项目已经使用了Apache Commons Lang库,可以使用StringUtils类更简洁地处理:

import org.apache.commons.lang3.StringUtils;

String text = "Line1\n\nLine2\n \nLine3";
String result = StringUtils.replacePattern(text, "(?m)^[ \t]*\r?\n", "");

处理多平台换行符

不同操作系统使用不同的换行符(Windows使用\r\n,Unix使用\n)。以下方法可以处理各种换行符:

String text = "Line1\r\n\r\nLine2\n\nLine3\r \r\nLine4";
String result = text.replaceAll("(?m)^\\s*\r?\n", "");

保留非空白的单行

如果需要保留包含空白字符但不完全为空的单行:

String text = "Line1\n  \nLine2\n\t\nLine3";
String result = text.replaceAll("(?m)^[ \t]+\r?\n", "");

流式处理文本文件

当处理大型文本文件时,可以使用流式处理逐行读取并过滤空行:

java如何删除空行

try (Stream<String> lines = Files.lines(Paths.get("input.txt"))) {
    List<String> nonEmptyLines = lines
        .filter(line -> !line.trim().isEmpty())
        .collect(Collectors.toList());

    Files.write(Paths.get("output.txt"), nonEmptyLines);
}

标签: 空行java
分享给朋友:

相关文章

java程序如何运行

java程序如何运行

编写Java代码 使用文本编辑器或IDE(如IntelliJ IDEA、Eclipse)编写Java源代码,保存为.java文件。例如: public class HelloWorld {…

如何编译java文件

如何编译java文件

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证。若未安装,需从Oracle或Open…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…

java如何调试

java如何调试

调试Java程序的基本方法 使用IDE内置的调试工具(如IntelliJ IDEA或Eclipse)是最常见的方式。在代码行号旁点击设置断点,启动调试模式后,程序会在断点处暂停,允许查看变量值、调用栈…

java如何返回数组

java如何返回数组

返回数组的方法 在Java中,可以通过多种方式返回数组。以下是几种常见的方法: 直接返回数组 定义一个方法,返回类型为数组类型,直接在方法内部创建并返回数组。 public int[] getI…