我有一个字符串,它在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];
}