从字符串中提取城市和邮政编码

时间:2016-02-01 03:04:04

标签: javascript regex

我有一个格式为的JavaScript字符串:

"New York City, New York 10024, United States"

字符串包含城市,州,邮政编码和国家/地区信息。我正在尝试从字符串中仅提取城市名称和邮政编码,但目前只能从字符串中获取城市名称。

JavaScript代码

var sampleLocation = "New York City, New York 10024, United States";
var resLocation = sampleLocation.split(",");
console.log(resLocation);
console.log(resLocation[0].replace( /,/g, "" )); 

输出

["New York City", " New York 10024", " United States"]
New York City

我无法弄清楚如何有效地提取城市和邮政编码。有没有办法选择数组元素的最后六个字符?

1 个答案:

答案 0 :(得分:2)

假设字符串的格式是固定的。

"City Name, PIN code, State"

您可以使用String#splitString#match



var address = "New York City, New York 10024, United States";
var locationArr = address.split(',');

var cityName = locationArr[0]; // New York City
var pinCode = locationArr[1].match(/\d+/)[0]; // 10024
// OR
// var pinCode = locationArr[1].replace(/\D+/g, '');

console.log('city: ', cityName, '\nPIN Code: ', pinCode);




  

有没有办法选择数组元素的最后六个字符?

如果PIN码始终是字符串中的最后六个字符,您还可以使用String#slice

var pinCode = locationArr[1].slice(-6);

String#substringString#substr也可以使用。