使用 replaceAll() 方法时出错

Error while using the replaceAll() method

我有一些代码如下所示:

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

我在这里要做的是用 space 替换字符串 str 中的每个 $ 实例。但是当我编译时出现这个错误:

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

但我没有将任何内容转换为字符串,我正在用 space 字符替换字符。那么为什么我会收到该错误?

replaceAll 需要两个字符串,但您传递的是字符。使用 " 而不是 '

根据javadocs,您要使用的方法是

public String replaceAll(String regex,
                String replacement)

所以你的代码应该看起来像

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

注意

如果你真的需要使用replaceAll然后转义“$”标记\$

但是

因为在正则表达式中“$”有特殊含义(字符串结尾)你没有任何特殊的正则表达式要求然后使用replace代替

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