使用javascript中的regex查找字符串中最后一个逗号



我有一个字符串,它在Javascript中表示一个地址,比如"Some address,city,postcode"。

我正在试着把"邮政编码"部分去掉。

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

我试过写之类的表达式

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

相关内容

  • 没有找到相关文章

最新更新