如果Java中的字符串中有多个空格,那么如何将它们压缩到单词之间的单个空格中?

如果字符串在单词之间有多个空格:

The cat sat on the mat. 

你如何使它成为一个单一的空间?

 The cat sat on the mat. 

我尝试了这个,但它不起作用:

 myText = myText.trim().replace(" ", " "); 

使用正则表达式:

 myText.trim().replaceAll("\\s+", " "); 

这样写:“修剪文本,然后用一个空格替换所有出现的一个或多个空格字符(包括制表符,换行符等)”

有关Java正则表达式的更多详细信息,另请参见java.util.regex.Pattern:

http://download.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

一切你需要的:

 myText.replaceAll("\\s++", " "); 

根据类StringreplaceAll方法的规范: http ://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String )

和Java中的Pattern类的规范(尝试ctrl-F表示“whitespace”和“++”): http : //docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern html的

在我看来,打开这些页面并自己看看,然后只是复制片段要好得多。