如何在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]})