【发布时间】:2013-04-19 07:58:29
【问题描述】:
我有一个这样的字符串:
KEY1=Value1, KE_Y2=[V@LUE2A, Value2B], Key3=, KEY4=V-AL.UE4, KEY5={Value5}
我需要拆分它以获得带有键值对的 Map。 [] 中的值应作为单个值传递(KE_Y2 是键,[V@LUE2A, Value2B] 是值)。
我应该使用什么正则表达式来正确拆分它?
【问题讨论】:
-
您最好为此编写一个适当的解析器。如果处理得当,它将比正则表达式更健壮且更易于维护。
-
你想如何存储键/值?即你想将它们都存储为字符串吗?我同意@TillHelgeHelwig,它也更灵活,因为您可以在解析时添加一些“动作”。
-
是的。我需要把它们放在 Map
. -
@Sharpie,TillHelgeHelwig,要编写解析器,我仍然需要一个正则表达式来获取后跟逗号和空格符号的值。是不是走错路了?
-
你能改变分隔符吗?如果您在每个值的末尾都有一个行尾,这将是一个经典的属性文件,可以作为经典的 Java 属性对象加载