如何从字符串中取出数字字符并将其放入数组中?

时间:2019-01-06 20:39:29

标签: javascript arrays string

我有这个字符串:

[{"COUNT(post_id)":"2"}][{"COUNT(post_id)":"1"}][{"COUNT(post_id)":"2"}]

如何取出"2", "1", "2"并使用JavaScript将它们放入数组中?

2 个答案:

答案 0 :(得分:2)

以下是一些有用的资源:https://regexr.com/ https://github.com/ziishaned/learn-regex

console.log(
'[{"COUNT(post_id)":"2"}][{"COUNT(post_id)":"1"}][{"COUNT(post_id)":"2"}]'
.match(/\d+/g)
);

(假设每个数字都是一个数字)

为了指出错误的代码。.我编写了以下内容作为“有趣”更新,以在下面显示@Anupam的答案。它滥用了一些东西……我更喜欢正则表达式解决方案。

console.log(
'[{"COUNT(post_id)":"2"}][{"COUNT(post_id)":"1"}][{"COUNT(post_id)":"2"}]'
.split('[{"COUNT(post_id)":"')
.map(function(x) { return parseInt(x); })
.filter(isFinite)
);

答案 1 :(得分:0)

不是一种干净的方法,但请试一下

    var str = '[{"COUNT(post_id)":"2"}][{"COUNT(post_id)":"1"}][{"COUNT(post_id)":"2"}]';
    var res = str.split('[{"COUNT(post_id)":"');
    var res1 = res.toString();
    var res3 = res1.split('"}]');
    var res4 = res3.toString().split(',,');
    document.write(res4);