首页 > 解决方案 > 从字符串中提取信息 - JavaScript

问题描述

我目前正在实现 google places 自动完成功能,我在 React Native 中使用的模块将地址作为一个完整的字符串提供给我,而不是在地址组件中。但是,我需要将邮政编码和城市分开。示例响应始终如下所示:

address: 'Calle Gran Vía, 8, 28013 Madrid, Spain

从这个字符串中,我需要一个看起来像这样的对象:

{
  city: 'Madrid',
  postal_code: 28013,
}

我怎么能做到这一点?

标签: javascriptstring

解决方案


对于城市,我认为最好的方法是使用城市数组并在字符串中搜索

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;

对于邮政编码,您应该根据国家/地区使用正则表达式(按国家/地区列出的正则表达式的好列表


推荐阅读