我有完整的地址(街道地址,州,国家),并希望将其分开
address.address
address.state
address.country
例如
var addressString = 'Calle del Padre Jesús Ordóñez, 18. 1, Madrid, España'
结果应该是:
address.address: Calle del Padre Jesús Ordóñez, 18. 1,
address.state: Madrid
address.country: España
答案 0 :(得分:0)
我不知道您的项目,但最好将地址分开,并在需要时加入。
您可以使用拆分功能以逗号分割字符串。如果需要,您可以将整个数组连接回一个字符串但没有数组的最后两个索引,以便根据需要获取地址,状态和国家/地区(假设州和国家/地区不包含逗号)。
答案 1 :(得分:0)
您可以使用带有正则表达式String#match的regex101来获取字段。然后你可以destructure(或手动分配)字符串的第2,第3和第4部分到变量,并创建一个对象:
const addressString = 'Calle del Padre Jesús Ordóñez, 18. 1, Madrid, España';
const [,addr, state, country] = addressString.match(/(.+),\s+([^,]+),\s+([^,]+)$/);
const address = {
address: addr,
state,
country
};
console.log(address);
答案 2 :(得分:0)
ES6为我们提供了解构,模板字符串和属性快捷方式,使得整个过程对于使用一致分隔符的地址几乎是微不足道的。
const address_string = 'Calle del Padre Jesús Ordóñez, 18. 1, Madrid, España';
const [ street, number, state, country ] = address_string.split( ',' );
const address = { "address" : `${street}, ${number}`, state, country };
console.dir( address );