[英]How can I split strings using javascript
我从javascript中调用函数得到了以下结果:
(1, 00), (2, 10), (3, 01), (4, 11)
我想将其分配为数组或json格式,结果如下:
[{id:1, number: 00},{id:2, number: 10},{id:3, number: 01},{id:4, number: 11}]
或任何会导致数组长度为4的东西
那可能吗? 请帮忙。 谢谢 :)
使用正则表达式获取模式并根据匹配的内容生成数组。
var data = '(1, 00), (2, 10), (3, 01), (4, 11)'; // regex to match the pattern var reg = /\\((\\d+),\\s?(\\d+)\\)/g, m; // array for result var res = []; // iterate over each match while (m = reg.exec(data)) { // generate and push the object res.push({ id: m[1], number: m[2] }); } console.log(res);
或通过拆分字符串。
var data = '(1, 00), (2, 10), (3, 01), (4, 11)'; var res = data // remove the last and first char .slice(1, -1) // split the string .split(/\\),\\s?\\(/) // iterate over the array to generate result .map(function(v) { // split the string var val = v.split(/,\\s?/); // generate the array element return { id: val[0], number: val[1] } }) console.log(res);
除了其他拆分解决方案之外,您还可以使用String#replace
并替换/添加所需部分,以获取有效的JSON字符串,并使用JSON.parse
解析所需的对象的字符串。
var data = '(1, 00), (2, 10), (3, 01), (4, 11)', json = data.replace(/\\(/g, '{"id":').replace(/,\\s?(?=\\d)/g, ',"number":"').replace(/\\)/g, '"}'), object = JSON.parse('[' + json + ']'); console.log(object);
.as-console-wrapper { max-height: 100% !important; top: 0; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.