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!
pop()
will remove the last element of an array:
address.split(",").pop()
you can use this
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.
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(","));
var m = /,\s*([^,]+)$/.exec('Some address, city, postcode');
if (m) {
var postcode = m[1];
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.