我有一个字符串代表Javascript中的地址,比如“一些地址,城市,邮政编码”。
我想把'邮政编码'部分拿出来。
我想为此使用split方法。我只想知道一个正则表达式,它将在我的字符串中找到最后一次出现','。
我尝试过编写
等表达式address.split("/\,(?=[^,]*$)/");
和
address.split(",(?=[^,]*$)");
但这些似乎不起作用。救命啊!
答案 0 :(得分:5)
pop()
将删除数组的最后一个元素:
address.split(",").pop()
你可以用这个
答案 1 :(得分:3)
如果您想在.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
括号中捕获您关心的部分。
答案 2 :(得分:2)
使用双引号将其视为字符串
以这种方式使用
address.split(/,(?=[^,]*$)/);
或
这更具可读性
var postcode=address.substr(address.lastIndexOf(","));
答案 3 :(得分:1)
var m = /,\s*([^,]+)$/.exec('Some address, city, postcode');
if (m) {
var postcode = m[1];
}