2013-05-29 83 views
2

我有一個由兩個字符串s1和s2,s = s1+s2組成的字符串s。替換爲字符串

我希望能夠修改s1在另一個函數,然後用s1修改後的版本重新構圖s。我想更改s1,因此需要s2作爲參數。例如,s1 = "1+"s2="2",我想成爲"incr(" + s2 + ")"

我能做到這一點,通過使用s1 = "incr(%s2%)"然後s1.replace("%s2%",s2),但如果s1已經包含"%s2%"?我希望它儘可能通用。

有沒有辦法做到這一點?

+1

請格式化你的代碼。這是很難看的。 –

+2

我想你可以使用的String.format()函數 http://stackoverflow.com/問題/ 3695230/HO w-to-use-java-string-format –

+0

在我的頭上..可以請你用一種更簡單的方式來描述:S – stinepike

回答

4

String是一個不可變的類,這意味着你不能修改它。所有字符串方法創建一個新的String,而不是修改String

但是,您可以使用toCharArray(或StringBuilder以獲得更大的靈活性),這是可變的。

+0

但我的問題是如何創建一個新的字符串,其內容取決於s2? – Car981

+0

剛剛更換%s2%有什麼問題? –

+0

那麼如果文本已經包含%s2%呢? – Car981

0

使用StringBuffer如果需要同步或者使用StringBuilder從而減少同步的開銷,兩個是mutable類。他們有很多方法來修改String內容。