我正在尝试用一个空格替换字符串中的所有空格。我正在尝试这个:
String src = "2. Test Sentence with spaces";
String out = src.replaceAll("\\s+", " ");
System.out.println(out);
这就是我得到的:
2. Test Sentence with spaces
点后的空格没有被替换......为什么?
答案 0 :(得分:3)
您可以尝试使用Unicode类别:分隔符,空格,并结合空格:
String input = "\u0020\u00A0\u1680\u2000\u2001\t"; //etc. 17 characters
System.out.println(input.replaceAll("[\\p{Zs}\\s]+", " "));
<强>输出强>
[1 space]
有关Zs
类别中的字符列表,请参阅here。