use*_*755 5 java string string-formatting
如何删除字符串中的多个空格和换行符,但为每组空行保留至少一个空行.
例如,更改:
"This is
a string.
Something."
Run Code Online (Sandbox Code Playgroud)
至
"This is
a string.
Something."
Run Code Online (Sandbox Code Playgroud)
我正在使用.trim()从字符串的开头和结尾去除空格,但我找不到任何用于删除字符串中的多个空格和换行符的内容.
我想只保留一个空格和一个换行符.
删除多个空格/换行符的一行解决方案,但保留多个空白行中至少一个空行:
str = str.replaceAll("(?m)(^ *| +(?= |$))", "").replaceAll("(?m)^$([\r\n]+?)(^$[\r\n]+?^)+", "$1");
Run Code Online (Sandbox Code Playgroud)
每条线都经过修剪.
这是一些测试代码:
String str = " This is\r\n " +
"\r\n" +
" \r\n " +
" \r \n \n " +
"\r\n" +
" a string. ";
str = str.trim().replaceAll("(?m)(^ *| +(?= |$))", "").replaceAll("(?m)^$([\r\n]+?)(^$[\r\n]+?^)+", "$1");
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)
输出:
This is
a string.
Run Code Online (Sandbox Code Playgroud)