将字符串解析为键值对 [英] Parsing string into key value pairs

查看:86
本文介绍了将字符串解析为键值对的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

{key1:value, key2:value1,value2, key3:data, key4:value, time: 13:10:05, Location, key5:value1,value2, key6:value}

我想将数据解析成键值对.键可以有任何名称,值也是如此.值也可以有逗号和冒号,因此您没有任何参数来分隔它.

I want to parse data into key and value pairs. The keys can have any name and so is value. Value can have commas and colons as well so you don't have any parameter to separate it.

参见上面的示例字符串.键值对也没有被"括起来

see the above example string. Key value pairs are also no enclosed in ""

我很擅长编码,但这个问题对我来说是一个挑战!

I'm pretty good with coding but this problem is becoming a challenge for me!

推荐答案

尝试以下

var input = "{key1:value, key2:value1,value2, key3:data, key4:value, time: 13:10:05, Location, key5:value1,value2, key6:value}";

var regexp = /(key\d+):(.+?)(?=((, key)|}))/ig;

var result;
while (result = regexp.exec(input)) {
    console.log(`key: "${result[1]}", value "${result[2]}"`)
}

但这只有在您为 key1、key2、key100 等键命名时才有效.

But this will only work if you have naming for keys like key1, key2, key100 etc.

这篇关于将字符串解析为键值对的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆