簡體   English   中英

如何使用JavaScript分割字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM