如何替换与正则表达式匹配的字符串的最后一个字符(javascript)

时间:2019-07-15 13:58:04

标签: javascript regex

我正在尝试从包含地址的字符串创建数组,并且需要用分号替换逗号分隔符,因为地址包含许多逗号,arr.split将创建不正确的条目。

我不知道如何匹配仅在邮政编码后出现的逗号。

经过一些研究,我一直在尝试使用:str.replace(/(?<=\d{5}),/g, "; ");

(?<=y)x表达式似乎不起作用,但是我想到的所有其他方法最终都删除了zip和逗号,或者仅仅是删除了任何内容。 (source where I found all I know of Regex)。

1 个答案:

答案 0 :(得分:2)

如果JavaScript引擎支持lookbehind(仅在ES2018中添加),您的方式将起作用:

// ONLY WORKS ON ENGINES THAT SUPPORT LOOKBEHIND
const str = "Testing 90210,testing,testing, ...";
console.log(str.replace(/(?<=\d{5}),/g, "; "));

否则,在捕获组中也匹配邮政编码,并使用$1将其包括在替换中:

const str = "Testing 90210,testing,testing, ...";
console.log(str.replace(/(\d{5}),/g, "$1; "));

相关问题