[英]Creating a multi-line string in javascript that accepts ruby object
[英]Convert a multi-line string into a javascript object
我的原始数据如下所示:
Last Name, First Name (Details-Details) #ID
Last Name, First Name (Details-Details) #ID
Last Name, First Name (Details-Details) #ID
Last Name, First Name (Details-Details) #ID
Last Name, First Name (Details-Details) #ID
Last Name, First Name (Details-Details) #ID
x1000
我想转换成一个带有键和值的可循环对象,例如:
var d = {
"FirstName LastName": "#ID";
"FirstName LastName": "#ID";
"FirstName LastName": "#ID";
"FirstName LastName": "#ID";
"FirstName LastName": "#ID";
"FirstName LastName": "#ID";
};
如何将其转换为 javascript 对象? 我认为stringify
可能是一个很好的起点。 FirstName
具有不同的值。 它们仅用于演示目的
let str = `LastName1, FirstName1 (Details-Details) #ID1 LastName2, FirstName2 (Details-Details) #ID2 LastName3, FirstName3 (Details-Details) #ID3` let output = str.split("\\n") .map(a => a.match(/(.*), (.*) \\(.*\\)\\s+(.*)/)) .reduce((r, [, last, first, id]) => { r[`${first} ${last}`] = id return r; },{}) console.log(output)
您可以使用正则表达式提取数据,使用RegExp#exec
方法使用正则表达式提取数据。
var str = `Last Name1, First Name1 (Details-Details) j1 Last Name2, First Name2 (Details-Details) 32 Last Name3, First Name3 (Details-Details) 3 Last Nam4e, First Name4 (Details-Details) 4 Last Name5, First Name5 (Details-Details) 5 Last Name6, First Name6 (Details-Details) 6` // pattern for matching the string let reg = /([\\w ]+)\\b\\s?,\\s?([\\w ]+)\\b\\s*\\([^)]+\\)\\s*([\\w\\d]+)/g; // variable for storing match let m; // object for the result let res = {}; // iterate over the matches while (m = reg.exec(str)) { // define object property based on the match res[`${m[2]} ${m[1]}`] = m[3]; } console.log(res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.