2017-03-09 34 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