在多个分隔符上对String进行Tokenize

时间:2013-03-26 04:48:12

标签: java regex stringtokenizer

我想将String标记为键值对。但是键具有下划线,逗号,空格等字符。键值对由= character

分隔

示例:

  

key = value start_time =“2013-03-01 03:20:40”Key withspace = space1 two   withspace = space2 key = value key-key key = value key_underscore = 500058   key = value - value key = value_value

所需的输出

  

键=值
  start_time =“2013-03-01 03:20:40”
  键withspace = space1
  两个withspace = space2
  键 - 键键=值
  key_underscore = 500058
  key = value - value
  key = value_value

这有助于我在地图中填充值并将其放在表格中。

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

只想查看一些最好的方法来实现这个

2 个答案:

答案 0 :(得分:3)

String.split()采用正则表达式。如果您可以使用正则表达式来匹配您的一组键,则可以使用它

答案 1 :(得分:1)

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