2

Java中是否存在一种方法可以让您将字符串转换how________are_______youhow_are_you,即在_重复时只保留一个。

4

6 回答 6

11

使用正则表达式替换:

string.replaceAll("_+", "_")
于 2013-02-14T15:30:09.227 回答
0

你可以用正则表达式解决它!匹配重复出现的_并将其替换为单个_. 我认为没有预定义的方法。

于 2013-02-14T15:29:15.623 回答
0

使用String#replaceAll(regex, str)

    String s="how__are__you";
    System.out.print(s.replaceAll("_+", "_"));
于 2013-02-14T15:29:46.583 回答
0

您可以使用 java 的 ReplaceAll() 函数。Java 拥有所有语言中最好的在线文档之一,我建议您去尝试一下。 http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#replaceAll(java.lang.String , java.lang.String)

于 2013-02-14T15:31:57.423 回答
0

使用正则表达式

简单的方法

 str = str.replaceAll("_+", "_");

很有效的方法

str = str.replaceAll("_{2,}", "_");
于 2013-02-14T15:33:48.107 回答
0

没有正则表达式,你可以使用像这样有点令人毛骨悚然的自写方法

private static String replaceLetters(String text, char rchar) {
     String newtext;
     for(int i=0;i<text.length;i++) {
       if(text.charAt(i)!=rchar) {
         newtext = newtext + text.charAt(i);
        }
       else {
        newtext = newtext + newtext.charAt(i);
        for(int j=i+1;j<text.length;j++) {
          if(text.charAt(j)!=rchar) {
            i = j;
            break;
            }
         }
      }
   }
   return newtext;
}

抱歉有点老派;)

于 2013-02-15T10:31:35.833 回答