如何用char类型的单个字符替换字符串中的某些字符?

时间:2014-10-22 02:51:30

标签: java string replace char

作为示例,我有abcdbab,我想用ab替换所有A

输出为AcdbA

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

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

有没有办法做到这一点?

4 个答案:

答案 0 :(得分:2)

没有这样的方法String#replace(CharSequence, char),您需要找到满足您需求的方法并进行调整,例如,有一个String#replaceAll(CharSequence, CharSequence)方法和char可以表示为CharSequence(或String),例如......

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

您可能希望阅读Code Conventions for the Java TM Programming Language,这样可以让人们更轻松地阅读您的代码并让您阅读其他代码

答案 1 :(得分:2)

使用String.replace(CharSequence,CharSequence)(记住String是不可变的,所以要么使用结果,要么将其分配回来),如

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

输出

abcdbab
AcdbA

答案 2 :(得分:2)

只需更改以下行:

char N = 65;

String N = "A";

它会正常工作。

答案 3 :(得分:0)

您也可以更改

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

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

引用此处,http://www.tutorialspoint.com/java/java_string_replaceall.htm replaceAll采用String,String not String,Char