单独的字符串

问题描述 投票:-5回答:3

我有完整的地址(街道地址,州,国家),并希望将其分开

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
javascript string
3个回答
0
投票

您可以使用带有正则表达式的String#matchregex101)来获取字段。然后你可以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);

0
投票

我不知道您的项目,但最好是将地址分开,并在需要时加入。

您可以使用split函数以逗号分割字符串。如果需要,您可以将整个数组连接回一个字符串但没有数组的最后两个索引,以便根据需要获取地址,状态和国家/地区(假设州和国家/地区不包含逗号)。


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 );
© www.soinside.com 2019 - 2024. All rights reserved.