【问题标题】:Remove Square Brackets and replace with Curly Brackets删除方括号并用大括号替换
【发布时间】:2017-03-09 09:50:54
【问题描述】:

我正在尝试用大括号替换所有方括号。

例子:

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

我想删除方括号([,])并用大括号({,})替换它们。

喜欢:

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

我试过了:

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

但没用。需要一些建议。

【问题讨论】:

  • 只是一个想法:对于这样一个简单的替换,您可以使用String.replace()
  • @domdom 我试过了。但它没有工作:(
  • 等等,反正我的评论是垃圾。我刚刚浏览了您的问题,并认为您正在使用正则表达式。无视我。
  • 为什么在 [ , ] 之前使用“\\”。不需要那个。 string = string.replaceAll("[", "{").replaceAll("]", "}");

标签: java string replace


【解决方案1】:

你不需要\\[\\{ 因为你没有得到正确的结果,你可以使用:

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

注意

您使用的字符串无效,您必须在 "\"" 之前使用 \,如下所示:

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

【讨论】:

  • 我认为您可以删除 System.out.println() 以获得更直接的答案。毕竟,我们不知道接下来字符串会发生什么。
【解决方案2】:

你可以这样做:

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

或者你可以这样做:

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

Replace 使用字符,因此 ' ' 而 replaceAll 使用正则表达式。这就是为什么你应该在那里逃避你的括号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    相关资源
    最近更新 更多