拆分逗号分隔的字符串(带有一些'\ {[字符串]

时间:2012-04-02 09:50:08

标签: java string split comma

已修复我的问题 - 帖子可以删除。谢谢大家的帮助。

我需要一些在Java中拆分字符串的帮助。我有一个像这样的字符串:

{'key'=>value1,'key2'=>'value2','key3'=>{'innerKey1'=>'innerValue1'...} ...}

我需要拆分它以便我有HashMap:

  1. 键 - > VALUE1
  2. key2->值2
  3. key3->(带有解析的内部HashMap {'innerKey1'=>'innerValue1'...})
  4. ...
  5. 当我尝试从key3解析值时,它会以同样的方式再次拆分它。内部元素可能有很多层次。我还需要它在键和值部分中使用特殊字符,如'或\。我使用过这样的东西:

    result = string.split( ",(?=([^\"]*\"[^\"]*\")*(?![^\"]*\"))" );
    

    但我不知道如何将整个{...}视为值而不是用逗号分隔它。

    我正在考虑为此使用JSON,但也许有人知道一些r​​egexp或小函数,这比倾向于JSON库更快。

2 个答案:

答案 0 :(得分:0)

您应该考虑解析器

拆分只是简单,在特殊情况下会失败。

解析器能够生成全面的错误消息。 随着分裂你很快失去

答案 1 :(得分:0)

你试图解析它的字符串肯定是JSON。和IMO一样,请考虑使用:

,而不是重新发明自己的JSON解析库

1)Jackson

2)google-gson

我个人更喜欢杰克逊,因为它很简单。