拆分花括号之间带字符的字符串

时间:2016-08-02 15:19:54

标签: java string split

我有以下字符串:

if ((@a = /\d/g ) == 10) { /* perform substitutions */ }

我需要将此字符串拆分为“,”在“}}”和“{”之间,并将每个结果放在一个标签中。

我想要的结果是:

{"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}},{"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}},{"attribute1":"value1","attribute2":"value2","attribute3":{"attribute3a":"value3a","attribute3b":"value3b"}}

我该怎么做?

2 个答案:

答案 0 :(得分:0)

以下代码解决了您的问题

public class Test {

    public static void main(String args[]) {
        String input = "{\"attribute1\":\"value1\",\"attribute2\":\"value2\",\"attribute3\":{\"attribute3a\":\"value3a\",\"attribute3b\":\"value3b\"}},{\"attribute1\":\"value1\",\"attribute2\":\"value2\",\"attribute3\":{\"attribute3a\":\"value3a\",\"attribute3b\":\"value3b\"}},{\"attribute1\":\"value1\",\"attribute2\":\"value2\",\"attribute3\":{\"attribute3a\":\"value3a\",\"attribute3b\":\"value3b\"}}";
        String[] output = input.split("},");
        for(String s: output) {
            System.out.println(s+"}");
        }
    }

}

然而,这并不是一种优雅的方式。您应该尝试使用JSON库解析输入

答案 1 :(得分:-1)

这绝对看起来像JSON。我建议在解析JSON时查看这篇SO帖子: How to parse json in java