2017-03-09 37 views
0

我試圖用大括號替換所有方括號。刪除方括號並用捲曲支架替換

實施例:

String string = "{\"test\":{\"id\":["4,5,6"}]},{\"Tech\":["Java,C++"]}}"; 

我想刪除方括號([,]),並用大括號替換它們({,})。

像:

"{\"test\":{\"id\":{"4,5,6"}}},{\"Tech\":{"Java,C++"}}}"; 

我曾嘗試:

string = string.replace("\\[", "\\{").replace("\\]", "\\}"); 

但沒有worked.Need一些建議在這裏。您正在使用您有一個無效的字符串

System.out.println(string.replace("[", "{").replace("]", "}")); 

注意

+0

只是一個想法:對於這樣一個簡單的替換,你可以用['與string.replace()'](http://docs.oracle.com/javase/7/docs/api/java/lang/String去.html#替換(char,%20char)) – domsson

+0

@dom我試過了。但它沒有工作:( – user7637864

+0

等等,我的評論是垃圾無論如何,我只是掃描了你的問題,並認爲你正在使用正則表達式,忽略我 – domsson

回答

3

你不需要爲\\[\\{你沒有得到正確的結果,而不是您可以使用"\""前使用\這樣的:

String string = "{\"test\":{\"id\":[\"4,5,6\"}]},{\"Tech\":[\"Java,C++\"]}}"; 
+0

我認爲你可以刪除'System.out.println()'以獲得更直接的答案。畢竟,我們不知道接下來會發生什麼字符串 – domsson

+0

是的,這是正確的@domdom謝謝 –

+0

@YCF_L這工作​​。謝謝很多:) – user7637864

0

你可以這樣做:

str.replace('[', '{').replace(']', '}'); 

,或者你可以這樣做:

str.replaceAll("\\[", "{").replaceAll("\\]", "}"); 

更換使用的字符,因此'而使用的replaceAll正則表達式。這就是爲什麼你應該逃避你的支架。

+0

這個解決了。謝謝:) – user7637864

+0

不客氣 – slaat