作为示例,我有abcdbab
,我想用ab
替换所有A
。
输出为AcdbA
。
我尝试了这个,但它给出了一个错误。
char N = 65;
String S = "abcdbab";
S = S.replaceAll("ab", N);
System.out.print(S);
有没有办法做到这一点?
答案 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