当前位置:  开发笔记 > 编程语言 > 正文

Java Regex - 减少字符串中的空格

如何解决《JavaRegex-减少字符串中的空格》经验,为你挑选了2个好方法。

我没有时间了解正则表达式,我需要快速回答.平台是Java.

我需要字符串

"Some text   with  spaces"

......被转换为

"Some text with spaces"

即,将2个或更多个连续空格改变为1个空格.



1> Tim Jansen..:
String a = "Some    text  with   spaces";
String b = a.replaceAll("\\s+", " ");
assert b.equals("Some text with spaces");


是的,这个解决方案不是那么有效,但只有这个操作发生在性能热点内才有意义.绝对不值得投票.
@Chris - 不要过早地开始优化正则表达式,我相信这就足够了.
这是一个有效的观点,我总是在这种情况下使用\ s {2,}或等价物,但实际上,它并不重要.
如果这已经被库优化,只是在多个空间上进行替换,我不会感到惊讶.这是可读的,可以完成工作.

2> Peter Bought..:

如果我们专门谈论空间,你想要专门测试空间:

MyString = MyString.replaceAll(" +", " ");

使用\s将导致所有空格被替换 - 有时需要,而不是.

此外,仅匹配2个或更多的更简单方法是:

MyString = MyString.replaceAll(" {2,}", " ");

(当然,\s如果希望用单个空格替换任何空格,这两个示例都可以使用.)

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有