【问题标题】:If you have multiple spaces inside a string in Java, how do you condense them into a single space between words?如果在 Java 中的字符串中有多个空格,如何将它们压缩成单词之间的单个空格?
【发布时间】:2011-05-18 18:33:03
【问题描述】:

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

The    cat         sat            on           the           mat.

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

The cat sat on the mat.

我试过了,但没用:

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

【问题讨论】:

    标签: java string


    【解决方案1】:

    使用正则表达式:

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

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

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

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

    【讨论】:

    • @AnshulTyagi:让我快速再试一次...... - 是的。它确实有效。
    【解决方案2】:

    所有你需要的:

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

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

    Pattern 类在 java 中的规范(尝试 ctrl-F 用于“空白”和“++”): http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

    在我看来,最好自己打开这些页面看看,然后复制sn-p。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多