Java正则表达式将双新行替换为单新行

Java正则表达式将双新行替换为单新行,java,regex,string,Java,Regex,String,我的代码是: String str = str.replaceAll("\\n\\n","\\n"); 我想做的是用一个新行替换两个连续的新行。我的代码没有这样做 关闭问题后编辑: 我正在windows上运行代码 我想做的是替换:“这是第一行。\n这是第二行\n这是第三行\n\n这是第四行” With:“这是第一行。\n这是第二行\n这是第三行\n这是第四行” 你看,在第三行之后,我想换行一行,而不是两行 String str = str.replaceAll("\n\n","\n"); 试

我的代码是:

String str = str.replaceAll("\\n\\n","\\n");
我想做的是用一个新行替换两个连续的新行。我的代码没有这样做

关闭问题后编辑:

我正在windows上运行代码

我想做的是替换:
“这是第一行。\n这是第二行\n这是第三行\n\n这是第四行”

With:
“这是第一行。\n这是第二行\n这是第三行\n这是第四行”

你看,在第三行之后,我想换行一行,而不是两行

String str = str.replaceAll("\n\n","\n");
试试这个

System.out.println(s.replaceAll("\n+","\n")); \\ replace one or more newline characters with just one newline..
试试这个

System.out.println(s.replaceAll("\n+","\n")); \\ replace one or more newline characters with just one newline..
例如:

public static void main(String[] args) {
    String s = "abc\n\nabc";
    System.out.println(s);
    System.out.println("hello");
    System.out.println(s.replaceAll("\n+", "\n"));
}

O/P:
abc

abc
hello
abc
abc
例如:

public static void main(String[] args) {
    String s = "abc\n\nabc";
    System.out.println(s);
    System.out.println("hello");
    System.out.println(s.replaceAll("\n+", "\n"));
}

O/P:
abc

abc
hello
abc
abc

对吗?当我把它放在jTextArea中时,它仍然有两行新行。@Jens他的正则表达式中没有“
dot
”。如果你想用一行新行替换两行新行,不。你的代码用“slash n”替换“slash n slash n”(用实际的斜杠,而不是“slash”)你不需要正则表达式,这是一个简单的搜索+替换。只需使用
字符串。在java正则表达式中替换(“\n\n”,“\n”)
@immibis,它表示行分隔符,可以写成
“\n”
“\\n”
<代码>“\\”字符串将在生成
\n
元字符的正则表达式引擎中转换为
\
(这与我们需要在Java中编写
\d
作为
“\\d”
的规则相同)。要表示
\
文本,后跟
n
OP,必须将其写成
“\\\\n”
。但你们对更换零件的看法是对的<代码>替换中的“\\n”将不表示行分隔符,而是表示
n
字符(前面没有反斜杠)。在这种情况下,OP应该使用simple
“\n”
。是否正确?当我把它放在jTextArea中时,它仍然有两行新行。@Jens他的正则表达式中没有“
dot
”。如果你想用一行新行替换两行新行,不。你的代码用“slash n”替换“slash n slash n”(用实际的斜杠,而不是“slash”)你不需要正则表达式,这是一个简单的搜索+替换。只需使用
字符串。在java正则表达式中替换(“\n\n”,“\n”)
@immibis,它表示行分隔符,可以写成
“\n”
“\\n”
<代码>“\\”字符串将在生成
\n
元字符的正则表达式引擎中转换为
\
(这与我们需要在Java中编写
\d
作为
“\\d”
的规则相同)。要表示
\
文本,后跟
n
OP,必须将其写成
“\\\\n”
。但你们对更换零件的看法是对的<代码>替换中的“\\n”将不表示行分隔符,而是表示
n
字符(前面没有反斜杠)。在这种情况下,OP应该使用简单的
“\n”