Java 如何使用正则表达式消除空新行?

Java 如何使用正则表达式消除空新行?,java,regex,Java,Regex,如何使用正则表达式消除源代码中的空新行 我的基本语言是java 例如: class ex{ String a="Hello World"; public static void main(String[] args){ System.out.println(a); } } 没有空新行的结果源代码: class ex{ String a="Hello World"; public static void main(Stri

如何使用正则表达式消除源代码中的空新行

我的基本语言是java

例如:

class ex{
     String a="Hello World";

     public static void main(String[] args){
          System.out.println(a);

     }
}
没有空新行的结果源代码:

class ex{
     String a="Hello World";
     public static void main(String[] args){
          System.out.println(a);
     }
}
您可以使用以下方法进行操作:

//read line
if (line.matches("^\\s*$")) {
    System.out.println("ignoring empty line");
}

或者,您可以使用eclipse/netbeans/Intellij等IDE,并配置自动缩进代码的方式。

可以使用标准工具对文本文件(Java或其他)进行许多修改。编写消除空行的程序是浪费时间

如果您在Linux上,请通过grep运行您的文件:

grep -v '^\s*$' Input.java >Output.java 

对于Windows,获取Google(“grep on Windows”)将找到的一个类似工作。使用cmd的命令是相同的,但Windows程序可能附带GUI,这可能会使它更简单。

要删除空行,请使用:

String result = text.replaceAll("(?im)^\\s*\r?\n", "");

如果您想使用某个IDE来完成此任务,您可以将所有
\n\n
(或
\r\n\r\n
)替换为
\n
(或
\r\n
)。但您不认为这可能会降低代码的可读性吗?有许多漂亮的打印源压头可以做到这一点。一个这样的例子是(或
astyle
)。另外,您的代码是非法的,因为您不能从静态方法访问实例字段
a
。@Jan Legner:我不使用IDE,我使用文本editor@Elliot对不起,先生,我给出了一个简单代码的例子。很抱歉,我没有被检查。通过使用IDE(IDE中的代码格式化程序),否则您必须手动执行一些操作,例如使用代码检查文件,将所有非空行写入另一个临时文件,然后将文件重命名回您拥有的文件。