I need to parse multiple email bodies that look like:
Name: Bob smith
Email: [email protected]
Phone Number: 4243331212
As part of a larger program I have the following function to parse the page based on Efficiently parsing email body in javascript:
function parse (i, body) {
var obj = {};
body.split('\n').forEach(v=>v.replace(/\s*(.*)\s*:\s*(.*)\s*/, (s,key,val)=>{obj[key]=isNaN(val)||val.length<1?val||undefined:Number(val);}));
var objArr = Object.values(obj);
var res = [];
res[0] = i
res.push(objArr)
return res
}
when I run this I get a syntax error in:
body.split('\n').forEach(v=>v.replace(/\s*(.*)\s*:\s*(.*)\s*/, (s,key,val)=>{obj[key]=isNaN(val)||val.length<1?val||undefined:Number(val);}));
what am I doing wrong ?

parse(0, "Name: Bob smith\nEmail: [email protected]\nPhone Number: 4243331212")gives back an array of"0,Bob smith,[email protected],4243331212". Not sure what that prefixed "0" is, but I didn't get any errors. Tested in the Edge console.