【问题标题】:How to replace some character in a string with a single character of type char?如何用char类型的单个字符替换字符串中的某些字符?
【发布时间】:2014-12-17 10:31:21
【问题描述】:

例如,我有abcdbab,我想用A 替换所有ab

输出为AcdbA

我尝试了这个,但它给出了一个错误。

char N = 65;
String S = "abcdbab";
S = S.replaceAll("ab", N);
System.out.print(S);

有什么方法可以做到吗?

【问题讨论】:

    标签: java string replace char


    【解决方案1】:

    没有String#replace(CharSequence, char)这样的方法,你需要找到最接近你需要的方法并适应它,例如有一个String#replaceAll(CharSequence, CharSequence)方法,char可以表示为@ 987654325@(或String),例如...

    S = S.replaceAll("ab", Character.toString(N));
    

    您可能想通读Code Conventions for the Java TM Programming Language,它会让人们更容易阅读您的代码,也让您更容易阅读其他人

    【讨论】:

      【解决方案2】:

      你也可以改变

      S = S.replaceAll("ab", N);
      

      S = S.replaceAll("ab", "" + N);
      

      在这里引用,http://www.tutorialspoint.com/java/java_string_replaceall.htmreplaceAll 接受一个字符串,字符串不是字符串,字符

      【讨论】:

        【解决方案3】:

        只需更改以下行:

        char N = 65;
        

        String N = "A";
        

        它会正常工作的。

        【讨论】:

          【解决方案4】:

          使用String.replace(CharSequence,CharSequence)(请记住String 是不可变的,所以要么使用结果,要么将其赋值)

          String str = "abcdbab";
          System.out.println(str);
          str = str.replace("ab", "A");
          System.out.println(str);
          

          输出是

          abcdbab
          AcdbA
          

          【讨论】:

            猜你喜欢
            • 2023-03-04
            • 2011-02-21
            • 2012-03-30
            • 1970-01-01
            • 2018-08-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-01-23
            相关资源
            最近更新 更多