我有一個看起來像這樣的字串:
const msg = " [['robot_arm', 'bc1', 'p_09_04_00'], ['operator', 'lc1', 'p_09_15_00'], ['robot_arm', 'oc1', 'p_08_17_00']]"
我想把它拆分成一個字串陣列,我試圖按如下方式拆分這個字串:
const msg_obj = new Array(JSON.parse(msg).split("["));
console.log(msg_obj);
for (let act_id in msg_obj) {
console.log(msg_obj[act_id]);
}
問題是我在里面得到了不需要的字符/字串:
- 空字串
""。 - 逗號
,。 - 方括號
]。
您能否告訴我是否有更好的方法可以將此字串拆分為字串陣列而不會產生不需要的輸出?提前致謝。
uj5u.com熱心網友回復:
問題是您的單引號不是有效的 JSON。您可以通過在決議前替換引號輕松獲得所需的結果:
const msg = " [['robot_arm', 'bc1', 'p_09_04_00'], ['operator', 'lc1', 'p_09_15_00'], ['robot_arm', 'oc1', 'p_08_17_00']]"
const msg_obj = JSON.parse(msg.trim().replace(new RegExp("'", "g"), "\""));
console.log(msg_obj);
for (let act_id of msg_obj) {
console.log(act_id);
}
uj5u.com熱心網友回復:
您的 constmsg不是有效的 json 字串。也許您可以通過以下代碼決議此字串:
const msg = " [['robot_arm', 'bc1', 'p_09_04_00'], ['operator', 'lc1', 'p_09_15_00'], ['robot_arm', 'oc1', 'p_08_17_00']]"
msgArr = msg.split("], [").map(item => {
return item.trim().split(",").map(val => {
return val.trim().replace(/\[|\'/g,'');
});
})
例子.png
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/529129.html
上一篇:當資訊通常存盤在2個單獨的行中時,如何在SQL中添加第二個價格列
下一篇:陣列和檔案I/O
