【问题标题】:Parsing string into key value pairs将字符串解析为键值对
【发布时间】:2018-08-12 09:23:55
【问题描述】:
{key1:value, key2:value1,value2, key3:data, key4:value, time: 13:10:05, Location, key5:value1,value2, key6:value}

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

参见上面的示例字符串。键值对也不包含在“”中

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

【问题讨论】:

  • 你可以尝试使用JSON解析器,它会比较容易。
  • 您使用的语言肯定已经编写了某种 JSON 解析器。使用它而不是自己编写。

标签: json regex parsing


【解决方案1】:

尝试关注

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 等键命名时才有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多