【发布时间】: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);
有什么方法可以做到吗?
【问题讨论】:
例如,我有abcdbab,我想用A 替换所有ab。
输出为AcdbA。
我尝试了这个,但它给出了一个错误。
char N = 65;
String S = "abcdbab";
S = S.replaceAll("ab", N);
System.out.print(S);
有什么方法可以做到吗?
【问题讨论】:
没有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,它会让人们更容易阅读您的代码,也让您更容易阅读其他人
【讨论】:
你也可以改变
S = S.replaceAll("ab", N);
到
S = S.replaceAll("ab", "" + N);
在这里引用,http://www.tutorialspoint.com/java/java_string_replaceall.htmreplaceAll 接受一个字符串,字符串不是字符串,字符
【讨论】:
只需更改以下行:
char N = 65;
到
String N = "A";
它会正常工作的。
【讨论】:
使用String.replace(CharSequence,CharSequence)(请记住String 是不可变的,所以要么使用结果,要么将其赋值)
String str = "abcdbab";
System.out.println(str);
str = str.replace("ab", "A");
System.out.println(str);
输出是
abcdbab
AcdbA
【讨论】: