2017-09-27 158 views
-3

我有一些代碼,看起來像這樣:錯誤而使用的replaceAll()方法

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

我想要做的,是取代$每個實例都在我的字符串str用空間。但是,我得到這個錯誤,當我編譯:

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

但我不會將任何字符串,我更換一個空格字符的字符。那麼,爲什麼我會得到這個錯誤?

+1

HTTPS:/ /docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String) – glennsl

回答

2

由於每javadocs您要使用的方法是

public String replaceAll(String regex, 
       String replacement) 

使你的代碼看起來應該像

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

如果你真的需要使用replaceAll然後轉義「$」標記\\$

如正則表達式「$」具有特殊的含義(字符串的結束)你沒有任何特殊的正則表達式的要求,然後使用replace代替

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

replaceAll需要兩個字符串,但是您要傳遞字符。使用「,而不是」