Find last occurrence of comma in a string using regex in javascript

烈酒焚心 提交于 2020-01-24 10:14:29

问题


I have a string which represents an address in Javascript, say, "Some address, city, postcode".

I am trying to get the 'postcode' part out.

I want to use the split method for this. I just want to know a regex expression that will find the last occurrence of ' , ' in my string.

I have tried writing expressions such as

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

and

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

But these don't seem to work. Help!


回答1:


pop() will remove the last element of an array:

address.split(",").pop()  

you can use this




回答2:


If you want to use .split() just split on "," and take the last element of the resulting array:

var postcode = address.split(",").pop();

If you want to use regex, why not write a regex that directly retrieves the text after the last comma:

var postcode = address.match(/,\s*([^,]+)$/)[1]

The regex I've specified matches:

,          // a comma, then
\s*        // zero or more spaces, then
([^,]+)    // one or more non-comma characters at the
$          // end of the string

Where the parentheses capture the part you care about.




回答3:


With double quotes it is treating it as string

Use it this way

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

Or

This is more readable

 var postcode=address.substr(address.lastIndexOf(","));



回答4:


var m = /,\s*([^,]+)$/.exec('Some address, city, postcode');
if (m) {
    var postcode = m[1];
}


来源:https://stackoverflow.com/questions/17377430/find-last-occurrence-of-comma-in-a-string-using-regex-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!