为了账号安全,请及时绑定邮箱和手机立即绑定

首先按位或“|”拆分字符串 然后通过逻辑或'||' 在 jquery 中

首先按位或“|”拆分字符串 然后通过逻辑或'||' 在 jquery 中

慕运维8079593 2022-12-22 10:03:36
我有一个字符串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>


查看完整回答
反对 回复 2022-12-22
?
繁花如伊

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);


查看完整回答
反对 回复 2022-12-22
  • 2 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信