我有这个字符串:
[{"COUNT(post_id)":"2"}][{"COUNT(post_id)":"1"}][{"COUNT(post_id)":"2"}]
如何取出"2", "1", "2"
并使用JavaScript将它们放入数组中?
答案 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);