尝试这个:
String after = before.trim().replaceAll(" +", " ");也可以看看
-
String.trim()
- 返回字符串的副本,省略前导和尾随空格。
-
Regular-expressions.info/重复
没有trim()正则表达式
也可以只用一个执行此操作
replaceAll,但这比
trim()解决方案的可读性差得多。尽管如此,这里提供它只是为了显示正则表达式可以做什么:
String[] tests = { " x ", // [x] " 1 2 3 ", // [1 2 3] "", // [] " ", // [] }; for (String test : tests) { System.out.format("[%s]%n", test.replaceAll("^ +| +$|( )+", "$1") ); }有3个备用项:
^_+
:字符串开头的任意空格序列- 匹配并替换为
$1
,以捕获空字符串 _+$
:字符串末尾的任意空格序列- 匹配并替换为
$1
,以捕获空字符串 (_)+
:任何不符合上述条件的空格序列,表示它位于中间- 匹配并替换为
$1
,以捕获单个空格



