您好我想替换String中的char。 我的问题是,起初你不知道它是哪个char,所以在某些情况下,当我的char为例如'+'时,我收到一条错误消息。我不希望我的char被解释为正则表达式,所以我该怎么办?
代码应该是这样的:
String test = "something";
char ca = input.chatAt(0);
input = input.replaceAll("" + ca, "");
我希望你能帮助我。
答案 0 :(得分:2)
那么就不要使用正则表达式。
input = input.replace(String.valueOf(ca), "");
replaceAll
的{{1}}方法将正则表达式的String
表示形式作为参数。
String
方法没有。
请参阅API。
答案 1 :(得分:0)
实际上替换方法可能含糊不清,如果您更换,请说" zz" - > " XY"在" zzz"字符串(结果将是" xyz"而不是" zxy")。
反过来, replaceAll 更灵活,严格确定其行为。毋庸置疑,它比替换更贵。
当然,在你的情况下, replace 是最好的选择。
答案 2 :(得分:0)
您可以在String类中使用replace(Char oldChar,Char newChar)函数或使用以下函数:
String replaceChar(String input, char oldChar, char newChar){
StringBuffer sb = new StringBuffer();
for(int i = 0; i<input.length(); i++){
char c = input.charAt(i);
if(c == oldChar)
sb.append(newChar);
else
sb.append(c);
}
return sb.toString();
}