我有一个格式为的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
我无法弄清楚如何有效地提取城市和邮政编码。有没有办法选择数组元素的最后六个字符?
答案 0 :(得分:2)
假设字符串的格式是固定的。
"City Name, PIN code, State"
您可以使用String#split
和String#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);