2013-03-26 51 views
0

我想将字符串标记为键值对。但键具有像下划线,逗号,空格等字符密钥值对由=字符分隔在多个分隔符上标记字符串

实施例:

键=值START_TIME =“2013-03-01三时20分40秒”键withspace =空间1 2个 withspace =空间2键=值键键键=值key_underscore = 500058 键=值 - 值=键value_value

希望的输出是

键=值
START_TIME = “2013-03-01三时二十零分40秒”
密钥withspace =空间1
2 withspace =空间2
键键键=值
key_underscore = 500058
键=价值 - 价值
键= value_value

这帮助我在地图中填充值,并把它放在一个表。

我可以使用任何现有的方法,如StringTokenizer,Patter,String.split()等。或者我应该写我自己的字符串分析器来获得这种类型的输出。

只是要检查一些最好的方法,以达致这

+3

以此开始:[“'StringTokenizer'是一个遗留类,为了兼容性的原因,尽管在新代码中不鼓励使用它,建议任何寻求该功能的人都使用'String'的split方法或取而代之的是'java.util.regex'包。“](http://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html) – 2013-03-26 04:50:02

回答

3

String.split()需要一个正则表达式。如果你可以使用正则表达式来匹配你的密钥集,你可以使用它

1

带空格的键不起作用,至少在给定的规则下。 key=value - value key= value_value是ambiguos。最后一个键值对可以提取为key = value_valuevalue key= value_value

相关问题