尝试这个:
String after = before.trim().replaceAll(" +", " ");
也可以看看 - String.trim()
- 返回字符串的副本,省略前导和尾随空格。 - Regular-expressions.info/
重复
也可以只用一个执行此操作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个备用项: