如何解决Java 字符串:删除换行符前后的所有其他空格
我需要删除使用 .trim()
完成的标题和尾随空格,我还需要将所有换行符替换为使用 .replaceAll("\\R+"," ")
完成的单个空格,但在此之前我需要删除所有空格(换行前后除外)。
String toReplace = "\t\t random \t\n\r\t text \t\t";
String result = toReplace.replaceAll(Some magic,"")
.replaceAll("\\R+"," ")
.trim();
Assert.assertEquals("random text",result);
谢谢。
解决方法
您可以匹配换行符周围的空格并将它们与换行符替换为空格一起删除:
String result = toReplace.replaceAll("\\h*\\R+\\h*"," ").trim();
正则表达式是 \h*\R+\h*
,而 .replaceAll("\\h*\\R+\\h*"," ")
用单个正则空格替换了以下模式序列:
-
\h*
- 零个或多个水平空白 -
\R+
- 一个或多个换行序列 -
\h*
- 零个或多个水平空白
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。