我有一个字符串代表着一个地址,比如说在Javascript中,“某个地址,城市,邮编”。
我想要从中获取“邮编”的部分。
我想要使用split方法来实现。我只需要知道一个正则表达式,可以找到我的字符串中最后一个出现的“ , ”。
我已经尝试过编写以下表达式:
address.split("/\,(?=[^,]*$)/");
并且。
address.split(",(?=[^,]*$)");
但是这些似乎不起作用。帮忙!
我有一个字符串代表着一个地址,比如说在Javascript中,“某个地址,城市,邮编”。
我想要从中获取“邮编”的部分。
我想要使用split方法来实现。我只需要知道一个正则表达式,可以找到我的字符串中最后一个出现的“ , ”。
我已经尝试过编写以下表达式:
address.split("/\,(?=[^,]*$)/");
address.split(",(?=[^,]*$)");
.split()
,只需在 ","
上拆分并取得结果数组的最后一个元素即可:var postcode = address.split(",").pop();
var postcode = address.match(/,\s*([^,]+)$/)[1]
我指定的正则表达式匹配:
, // a comma, then
\s* // zero or more spaces, then
([^,]+) // one or more non-comma characters at the
$ // end of the string
括号捕获你关心的部分。
pop()
会移除数组的最后一个元素:
address.split(",").pop()
使用双引号会将其视为字符串
可以这样使用
address.split(/,(?=[^,]*$)/);
或者
这样更易读
var postcode=address.substr(address.lastIndexOf(","));
var m = /,\s*([^,]+)$/.exec('Some address, city, postcode');
if (m) {
var postcode = m[1];
}