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

Hamza Tahir picture Hamza Tahir · Jun 29, 2013 · Viewed 7.5k times · Source

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!

Answer

nnnnnn picture nnnnnn · Jun 29, 2013

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.