我有一个包含以下格式字符串的数组:
$6,000↵2001 Jeep Wrangler↵Middleburg, Florida↵144K miles
我想这样迭代并添加到我的对象中:
var my object = {
price: "$6,000",
title: "Jeep Wrngler",
location: "Middleburg, Florida",
miles: "144k miles"
}
但是那小小的回车把我搞砸了。如何从一个字符串中提取以上信息?
谢谢
答案 0 :(得分:0)
回车符可以仅由控制台或其他设备放入。 regex下方将按换行符或回车符分隔,然后只需从输出中创建对象
const s = '$6,000↵2001 Jeep Wrangler↵Middleburg, Florida↵144K miles';
console.log(s.split(/[\n|↵]/))
答案 1 :(得分:0)
您可以使用/n
通过将正则表达式String.prototype.split
与正则表达式myObject
匹配来简单地分割回车符。如果您使用的是ES6,则可以轻松地使用array destructuring assignment从结果数组中提取单个元素,然后将它们分配回const data = `$6,000
2001 Jeep Wrangler
Middleburg, Florida
144K miles`;
const [price, title, loc, miles] = data.split(/\n/);
const myObject = {
price,
title,
location: loc,
miles,
}
console.log(myObject);
:
<repositories>
<repository>
<id>repo</id>
<name>repo</name>
<url>file:${project.basedir}/src/main/resources/lib</url>
</repository>
</repositories>
答案 2 :(得分:0)
您也可以这样做:
const data = '$6,000\n2001 Jeep Wrangler\nMiddleburg, Florida\n144K miles';
const obj = ['price', 'title', 'location', 'miles',
...data.split(/\n/) ]
.reduce((a,c,i,t)=>{
if(i<4) a[c]=t[i+4]
return a
},{});
console.log( obj );