我有一个字符串,它代表 Javascript 中的地址,比如“某个地址、城市、邮政编码”。
我正在尝试删除“邮政编码”部分。
我想为此使用拆分方法。我只想知道一个正则表达式,它将在我的字符串中找到最后一次出现的 ' , '。
我试过写表达式,比如
address.split("/\,(?=[^,]*$)/");
和
address.split(",(?=[^,]*$)");
但这些似乎不起作用。帮助!
我有一个字符串,它代表 Javascript 中的地址,比如“某个地址、城市、邮政编码”。
我正在尝试删除“邮政编码”部分。
我想为此使用拆分方法。我只想知道一个正则表达式,它将在我的字符串中找到最后一次出现的 ' , '。
我试过写表达式,比如
address.split("/\,(?=[^,]*$)/");
和
address.split(",(?=[^,]*$)");
但这些似乎不起作用。帮助!
如果您只想使用.split()
split on","
并获取结果数组的最后一个元素:
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];
}