使用JavaScript正则表达式获取引号字符串中的单词

时间:2014-01-23 20:10:05

标签: javascript regex

谢谢大家,我在JavaScript中遇到了一个问题,问题是:

我有一个字符串:例如:

{"results":[{"id":"id1","text":"text1"},{"id":"id2","text":"text2"},{"id":"id3","text":"text3"}]}

然后,我想得到如下字符串:

id1|text1|id2|text2|id3|text3

那么我应该如何编写正则表达式?

非常感谢你,我是StackOverFlow的新人!

1 个答案:

答案 0 :(得分:3)

  

我有一个字符串

该字符串位于JSON format,与JavaScript一起运作良好。

  

那么我应该如何编写正则表达式?

你根本不应该写一个正则表达式。如果你这样做,你only had two problems

  

.replace(/(^.+?|"\},\{)?"id":"|","text":"|"}[^"]*$/g, "|").slice(1,-1)

相反,parse将字符串放入对象中,并从那里提取id-text对:

var result = JSON.parse(string).results.map(function(el) {
    return el.id+"|"+el.text;
}).join("|");