2015-12-14 233 views
0

是否可以同時多個字符串replace()我怎樣才能在一個字符串中替換多個子字符串?


例如:

String X = new String("I will find cookies"); 
String newX = X.replace(("will", "won't") + ("I", "You")); 
System.out.print(newX); 

輸出

你不會找到餅乾

我知道我所做的是錯的,則會創建錯誤,但至少你讓我「取代倍數」的想法。如果可能的話,更好的解決方案是什麼?

+3

如何多次調用'replace'? –

+0

我的輸出字符串會改變,不是嗎?我已經嘗試過了,被替換的字符串只會'追加'到我的輸出中,或者我只是做錯了。你可以多次調用'replace'而不改變輸出嗎? – ryannjeffers

+2

你的字符串不會改變,因爲它是不可變的,但是結果會有你正在尋找的替換。例如,你可以這樣做:'newX = X.replace(「will」,「will not」)。replace(「I」,「You」);' –

回答

0

最簡單的答案(我能想到的)這裏是:

String newX = X.replace("will", "won't").replace("I", "You"); 

這將是找到一個簡單的例子,像這個,但是如果你想做更大的事情(比如更多的替代品),你應該明智地考慮一下正則表達式。

+0

另外,你還沒有在你的問題中提到過這個,但是如果你希望用相同的字符串替換多個實例,例如,如果你的輸入是'我會找到cookies,你願意嗎?',並且你想要替換兩個'will'的實例,你可以使用'X.replaceAll()'。 – DaveyDaveDave

0

你可以做的replace()鏈式調用象下面這樣:

String X = new String("I will find cookies"); 
String newX = X.replace("will", "won't").replace("I", "You"); 
System.out.print(newX); 
相關問題