2014-03-30 190 views
0

我讀一個文件,並存儲到一個字符串變量輸入:替換字符串 - java的

"returnonassets":{"content":"5.97%","term":"ttm"},"float":"332400000","ex_dividenddate":"dec 27, 2013","payoutratio":"23.00%","qtrlyearningsgrowth":{"content":"8.90%","term":"yoy"}

我想更換"float":"332400000""floatShare":"332400000",我嘗試下面的命令但沒有工作:

input.replaceAll("\"float\"", "\"floatShare\""); 

編輯:

這是我的append命令中的StringBuilder某人:

sb.append(input.toString().replaceAll("-", "").replaceAll("\"float\"", "\"floatShare\"").toLowerCase()).append("\n"); 
+1

'String'是不可改變的。 'replaceAll'會返回什麼? –

+0

我添加了如何追加到stringbuilder sb,破折號被刪除。 –

+0

請解釋'_didnt worked_'的含義?你在期待什麼?究竟發生了什麼? –

回答

0

Java中的字符串是不可變的。您的代碼目前的方式,您從input.replaceAll("\"float\"", "\"floatShare\"");獲得一個新的字符串對象,但沒有做任何事情。解決這個問題很簡單。 而不是做的:

input.replaceAll("\"float\"", "\"floatShare\""); 

input = input.replaceAll("\"float\"", "\"floatShare\""); 
+0

在他們的問題結尾處查看'StringBuilder'代碼。他們沒有重新使用「輸入」。他們正在構建一個新的「字符串」。 –