使用replaceAll()方法时出错

时间:2017-09-27 02:16:30

标签: java string character replaceall

我有一些看起来像这样的代码:

str.replaceAll('$', ' ');
return str;

我在这里尝试做的是用空格替换我的字符串str中$的每个实例。但是我在编译时遇到了这个错误:

incompatible types: char cannot be converted to String
        str.replaceAll('$', ' ');
                       ^

但是我没有将任何东西转换为字符串,我用空格字符替换字符。那么为什么我会收到这个错误?

2 个答案:

答案 0 :(得分:2)

根据您要使用的javadocs方法

public String replaceAll(String regex,
                String replacement)

所以你的代码应该是

str.replaceAll ("$", "");  

注意

如果您确实需要使用replaceAll,请转义“$”标记\\$

<强> BUT

正如在正则表达式中,“$”具有特殊含义(字符串的结尾),您没有任何特殊的正则表达式要求,请使用replace代替

str = str.replace ("$", "");  

答案 1 :(得分:0)

replaceAll期待两个字符串,但你传递的是字符。使用&#34;而不是&#39;