如何在javascript中使用正则表达式进行拆分?
如果我有绳子如何在javascript中使用正则表达式进行拆分?,javascript,Javascript,如果我有绳子 PercentageValue=99.9\r\nCaseID=9745683 PercentageValue=90.3\r\nCaseID=9387593 PercentageValue=88.6\r\nCaseID=4893448 如何将其解析为: [ {PercentageValue : '99.9', CaseID : '9745683'}, {PercentageValue : '90.3', CaseID : '9387593'}, {Percen
PercentageValue=99.9\r\nCaseID=9745683 PercentageValue=90.3\r\nCaseID=9387593 PercentageValue=88.6\r\nCaseID=4893448
如何将其解析为:
[
{PercentageValue : '99.9', CaseID : '9745683'},
{PercentageValue : '90.3', CaseID : '9387593'},
{PercentageValue : '88.6', CaseID : '4893448'}
]
似乎有一个空格分隔符,但问题是还有其他空格
谢谢
var str='PercentageValue=99.9\r\nCaseID=9745683 PercentageValue=90.3\r\nCaseID=9387593 PercentageValue=88.6\r\nCaseID=4893448';
var array=str.replace(/\r\n/g')。replace(/\s=\s/g',:')。split(“”);
var objs=array.map((el)=>{
返回{
[el.split(',')[0]。split(':')[0]]:el.split(',')[0]。split(':')[1],
[el.split(',')[1]。split(':')[0]]:el.split(',')[1]。split(':')[1]
}
});
console.log(objs)代码>
var str='PercentageValue=99.9\r\nCaseID=9745683 PercentageValue=90.3\r\nCaseID=9387593 PercentageValue=88.6\r\nCaseID=4893448';
var array=str.replace(/\r\n/g')。replace(/\s=\s/g',:')。split(“”);
var objs=array.map((el)=>{
返回{
[el.split(',')[0]。split(':')[0]]:el.split(',')[0]。split(':')[1],
[el.split(',')[1]。split(':')[0]]:el.split(',')[1]。split(':')[1]
}
});
console.log(objs)代码>
var str=“PercentageValue=99.9\r\nCaseID=9745683 PercentageValue=90.3\r\nCaseID=9387593 PercentageValue=88.6\r\nCaseID=4893448”;
var parse=“[”+str.replace(/(\w+)\s=\s(\d+(\.\d)),\r\n(\w+)\s=\s(\d+)/g,“{\“$1\”:\“$2\”,\“$4\”:$5}”)。replace(/\\\\\\\s\{/g,{”)+”;
console.log(JSON.parse(parse));
var str=“PercentageValue=99.9\r\nCaseID=9745683 PercentageValue=90.3\r\nCaseID=9387593 PercentageValue=88.6\r\nCaseID=4893448”;
var parse=“[”+str.replace(/(\w+)\s=\s(\d+(\.\d)),\r\n(\w+)\s=\s(\d+)/g,“{\“$1\”:\“$2\”,\“$4\”:$5}”)。replace(/\\\\\\\s\{/g,{”)+”;
console.log(JSON.parse(parse));
如其他答案所示,有几种方法可以解决此问题。下面是使用.reduce()
的一种方法:
var str='PercentageValue=99.9\r\nCaseID=9745683'+
'PercentageValue=90.3,\r\nCaseID=9387593'+
'PercentageValue=88.6,\r\nCaseID=4893448';
console.log(
str
.split(/=|,?\s+/)
.减少(
功能(c、v、i、a){
返回i&3==3&(c[i>>2]={
百分比值:a[i-2],
案例编号:v
}),c
}, []
)
)
如其他答案所示,有几种方法可以解决此问题。下面是一种使用.reduce()的方法。
:
var str='PercentageValue=99.9\r\nCaseID=9745683'+
'PercentageValue=90.3,\r\nCaseID=9387593'+
'PercentageValue=88.6,\r\nCaseID=4893448';
console.log(
str
.split(/=|,?\s+/)
.减少(
功能(c、v、i、a){
返回i&3==3&(c[i>>2]={
百分比值:a[i-2],
案例编号:v
}),c
}, []
)
)
您想要实现的JSON格式不正确。可能您想要:
而不是=
?谢谢,修复了打字错误。您想要实现的JSON格式不正确。可能您想要:
而不是=
?谢谢,修复了打字错误。
var input = "PercentageValue = 99.9,\r\nCaseID = 9745683 PercentageValue = 90.3,\r\nCaseID = 9387593 PercentageValue = 88.6,\r\nCaseID = 4893448";
var res, resArray = [], re = /PercentageValue = (.*),\r\nCaseID = (\d*) ?/g;
while (res = re.exec(input))
resArray.push({PercentageValue: res[1], CaseID: res[2]})