解析多行电子邮件正文
Parse Email Body with Multiple Lines
我将如何在 javascript 中解析包含多行的电子邮件正文?
例子
Employee:
123456789
Name:
John Doe
这就是我现在正在使用的。
var emailObj = {};
var body_text = inputs.email.replace(/<\/?[^>]+(>|$)/g, "");
var regEx = /^(.+):(.+)$/;
for (var i = 0; i < valPairs.length; i++) {
matches = valPairs[i].match(regEx);
emailObj[matches[1].toString().trim()] = matches[2].toString().trim();
}
outputs.email_var = emailObj;
谢谢。
您可以先通过换行符和使用 Array.filter
.
来过滤掉空行
可以通过Array.reduce
并检查索引是否为偶数来构造对象。如果是,则将 属性 名称和值设置为数组中的相应项。
const str = `Employee:
123456789
Name:
John Doe`;
const lines = str.split("\n").filter(e => e != "");
const obj = lines.reduce((a, b, i) => {
if (i % 2 != 0) {
a[lines[i - 1]] = lines[i]
}
return a;
}, {})
console.log(obj)
我将如何在 javascript 中解析包含多行的电子邮件正文?
例子
Employee:
123456789
Name:
John Doe
这就是我现在正在使用的。
var emailObj = {};
var body_text = inputs.email.replace(/<\/?[^>]+(>|$)/g, "");
var regEx = /^(.+):(.+)$/;
for (var i = 0; i < valPairs.length; i++) {
matches = valPairs[i].match(regEx);
emailObj[matches[1].toString().trim()] = matches[2].toString().trim();
}
outputs.email_var = emailObj;
谢谢。
您可以先通过换行符和使用 Array.filter
.
可以通过Array.reduce
并检查索引是否为偶数来构造对象。如果是,则将 属性 名称和值设置为数组中的相应项。
const str = `Employee:
123456789
Name:
John Doe`;
const lines = str.split("\n").filter(e => e != "");
const obj = lines.reduce((a, b, i) => {
if (i % 2 != 0) {
a[lines[i - 1]] = lines[i]
}
return a;
}, {})
console.log(obj)