在javascript中使用regex查找字符串中最后一次出现的逗号

时间:2013-06-29 06:31:05

标签: javascript regex last-occurrence

我有一个字符串代表Javascript中的地址,比如“一些地址,城市,邮政编码”。

我想把'邮政编码'部分拿出来。

我想为此使用split方法。我只想知道一个正则表达式,它将在我的字符串中找到最后一次出现','。

我尝试过编写

等表达式
address.split("/\,(?=[^,]*$)/"); 

address.split(",(?=[^,]*$)");

但这些似乎不起作用。救命啊!

4 个答案:

答案 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];
}