javascript - 从字符串中提取信息 - JavaScript
问题描述
我目前正在实现 google places 自动完成功能,我在 React Native 中使用的模块将地址作为一个完整的字符串提供给我,而不是在地址组件中。但是,我需要将邮政编码和城市分开。示例响应始终如下所示:
address: 'Calle Gran Vía, 8, 28013 Madrid, Spain
从这个字符串中,我需要一个看起来像这样的对象:
{
city: 'Madrid',
postal_code: 28013,
}
我怎么能做到这一点?
解决方案
对于城市,我认为最好的方法是使用城市数组并在字符串中搜索
var str = "Calle Gran Vía, 8, 28013 Madrid, Spain";
var cities = ["Paris", "Berlin", "Madrid"];
var city = cities.filter(function(item) {
if (str.search(item) != -1)
return item;
})[0] || null;
对于邮政编码,您应该根据国家/地区使用正则表达式(按国家/地区列出的正则表达式的好列表)