我有一个字符串st="product1 || 78,500/- | product2,product3,product4 || 48,500/-"首先,我通过“|”执行了拆分字符串arr=st.split('|')然后再用 '||' 分割 像arr[0].split('||')但它返回的结果就像product1,,78500/-,product2,product3,product3,product4,,58500但我想要像第一次被“|”分割的结果product1||78500和product2,product3,product4||58500并从第二次分裂为“||” 结果应该像product1,78500和product1,product2,product3,product4,58500我们如何做到这一点?
2 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
使用精确的标记拆分数据。|也在考虑||。
st="product1 || 78,500/- | product2,product3,product4 || 48,500/-";
arr1=st.split(" | ")
arr2=[]
for(var i=0;i<arr1.length;i++)
document.getElementById("data").innerText+=arr1[i].split(" || ")+"\n";
<div id="data">
</div>
繁花如伊
TA贡献2012条经验 获得超12个赞
另外,另一种方法。
在这里,我们将一个字符串替换为另一个字符串,这样 split 函数就不会混淆。
下面是代码
//First Split
var st = "product1 || 78,500/- | product2,product3,product4 || 48,500/-"
st = st.replace(/\|\|/g, "~");
arr = st.split("|");
//Second Split
var finalArr = [];
for (var i = 0; i < arr.length; i++) {
finalArr.push(arr[i].split("~"));
}
console.log("First Split");
console.log(arr);
console.log("Second Split");
console.log(finalArr);
添加回答
举报
0/150
提交
取消