2014-04-22 188 views
0

嗨,我想替換字符串中的字符。 我的問題是,首先你不知道它是哪個字符,所以在某些情況下,當我的字符例如'+'時,我收到一條錯誤消息。我不希望我的字符被解釋爲正則表達式,那麼我該怎麼做?替換字符串中的字符

五月代碼應該是這樣的:

String test = "something"; 
char ca = input.chatAt(0); 
input = input.replaceAll("" + ca, ""); 

我希望你能幫助我。

+0

你想要什麼? – aelor

+0

如果要用另一個文字字符串替換文字字符串,則使用'String.replace(from,to)'。閱讀javadoc是你必須要做的,以找到這些簡單的解決方案。 –

+0

我的代碼完全適用於每個不是'+','*','?'的字符,但它們應該也可以用這些字符。 – user3025417

回答

2

只是不要使用正則表達式。

input = input.replace(String.valueOf(ca), ""); 

String的的replaceAll方法採用正則表達式作爲參數的String表示。

replace方法沒有。

請參閱API

0

實際上替換方法可能不明確,如果替換,可以在「zzz」字符串中說「zz」 - >「xy」(結果將是「xyz」而不是「zxy」)。

反過來,replaceAll更靈活,它的行爲是嚴格確定的。不用說,它比較貴,比取代

當然,在你的情況下,替換是最好的選擇。

0

可以使用替代(字符oldChar,字符newChar)在String類的功能,或者使用下面的功能:

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(); 
}