在java中删除字符串之间的多个换行符并替换为单换行符
我有绳子在java中删除字符串之间的多个换行符并替换为单换行符,java,android,regex,Java,Android,Regex,我有绳子 String description = a \n \n \n \n \n b 我想删除换行符,使其仅为1换行符。 删除2个以上的换行符,使其仅为1个换行符 我试过这个 String descResult = description.replaceAll("([\n]){2,}", ""); 但是它不起作用。除了新行之外,您似乎也有周围的空格,所以您需要使用一个正则表达式,它还可以选择性地捕获可选空格。试试这个Java代码 String s = "a \n \n \n \n \n
String description = a
\n
\n
\n
\n
\n
b
我想删除换行符,使其仅为1换行符。
删除2个以上的换行符,使其仅为1个换行符
我试过这个
String descResult = description.replaceAll("([\n]){2,}", "");
但是它不起作用。除了新行之外,您似乎也有周围的空格,所以您需要使用一个正则表达式,它还可以选择性地捕获可选空格。试试这个Java代码
String s = "a \n \n \n \n \n b";
System.out.println("Before: " + s);
System.out.println("After: " + s.replaceAll("( *\n *){2,}", "\n"));
印刷品
Before: a
b
After: a
b
试试看,必须更换
\n
String descResult = description.replaceAll("([\n]){2,}", "\n");
你把它们拿走了。替换为
\n
(或$1
,因为您将每个\n
捕获到组1中)。请尝试使用.replaceAll(“\n{2,},“\n”)
。或者,.replaceAll((\\R){2,},“$1”)
替换为捕获的最后一个换行符序列。实际字符串中没有空格,问题的格式不正确。@WiktorStribiżew:是的。当我回答时,给定的字符串有空格,因此我认为它不起作用,所以发布了我的解决方案。但我认为,一般来说,一个人可能会选择有换行符的空格,在这种情况下,我的答案可能也会帮助其他人。谢谢你的留言。