修剪字符串空间的最佳方法

Ale*_*mes 5 java regex trim

如何在考虑性能的情况下仅在一个空间内修剪空间?

Input:
     AA     BB
Output:
AA BB

Input:
A      A
Output:
A A
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 11

System.out.println("     AA     BB".replaceAll("\\s+", " ").trim());
Run Code Online (Sandbox Code Playgroud)

输出:

AA BB
Run Code Online (Sandbox Code Playgroud)

注意:与此处的其他一些解决方案不同,这也会用单个空格替换单个选项卡.如果您没有任何标签,则可以使用"{2,}"而不是更快:

System.out.println("     AA     BB".replaceAll(" {2,}", " ").trim());
Run Code Online (Sandbox Code Playgroud)


Bal*_*usC 7

更换两个或多个空格"\\s{2,}"用一个空格" ",做一个trim()事后摆脱开头和结尾的空格,你在第一例子说明.

output = input.replaceAll("\\s{2,}", " ").trim();
Run Code Online (Sandbox Code Playgroud)