在Java中寻找快速,简单的方法来更改此字符串
" hello there "
看起来像这样
"hello there"
在这里,我用一个空格替换了所有多个空格,但我也希望字符串开头的一个或多个空格消失。
这样的事情使我部分地在那里
String mytext = " hello there "; mytext = mytext.replaceAll("( )+", " ");
但不完全是
尝试这个:
String after = before.trim().replaceAll(" +", " ");
也可以看看 - String.trim() - 返回字符串的副本,省略前导和尾随空格。 - Regular-expressions.info/重复
String.trim()
Regular-expressions.info/
没有trim()正则表达式
也可以只用一个执行此操作replaceAll,但这比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
_+$
(_)+