java 解析 键值_JAVA:解析单个字符串键值对

我试图找出一种方法来分离出同一行上的键值对。JAVA:解析单个字符串键值对

看看下面的输入作为样本

key1=0 key2=val0 key3=my val 0 key4=some (val)

起初,我并没有在我的输入数据看到这一点,因为它被埋葬,并没有觉得有任何的空间。因此,我将每行分隔成一个基于空间的数组,然后将结果数组作为Properties对象读取,最后读入我的Map。这现在产生了不好的结果。

在这一点上,我认为这是一个正则表达式的问题,我用这种技能是非常糟糕的。

有没有办法把上述样品数据(单串)并将其正确解析成所得的HashMap

key1:0

key2:val0

key3:my val 0

key4:some (val)

剔牙!

编辑答案:

Pattern p = Pattern.compile("(\\w+)=\"*((?<=\")[^\"]+(?=\")|([^\\s]+))\"*");

String test = "a0=d235 a1=2314 com1=\"abcd\" com2=\"a b c d\"";

Matcher m = p.matcher(test);

while(m.find()){

print m.group(1);

print "="

println m.group(2);

}

+3

答案在这里找到http://stackoverflow.com/questions/11478437/java-regex-help-capturing-key-value-pairs –

+0

你能告诉我们你的代码到目前为止尝试过? –

+0

您是否尝试过使用字符串标记器?这可能是一个更简单的正则表达式选项。 –

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值