使用Regex从字符串中以特定顺序删除特定单词

时间:2019-07-03 22:46:06

标签: javascript regex string

我必须从诸如“主席F的源B中的X公司”这样的字符串中删除“中”(in)一词,以使应用正则表达式后的字符串为公司X的Source B主席F。

我还需要删除引号,并且我已经解决了。

我尝试了以下正则表达式,但均未成功

let str = "Company X in Source B in Chair F"
str.replace(/['"\in]+/g, '') --> Compay X Source B Char F

2 个答案:

答案 0 :(得分:1)

使用\b单词边界来匹配整个单词。另外,请确保您使用replace的结果-它返回一个新字符串:

let str = "Company X in Source B in Chair F";
const res = str.replace(/\bin\b/g, "").replace(/  /g, " ");
console.log(res);

由于空格,上面还有第二个replace。如果您想避免这种情况:

let str = "Company X in Source B in Chair F";
const res = str.replace(/ in /g, " ");
console.log(res);

如果还需要替换引号,请使用正则表达式OR运算符|

/(?:\bin\b)|"|'/g

答案 1 :(得分:0)

您不需要花哨的钱,只需使用/in/g

let str = "Company X in Source B in Chair F"
console.log(str.replace(/in/g, ''));

但是,您可能需要考虑将边界\b用作/\bin\b/g

let str = "Company X in Source B in Chair F"
console.log(str.replace(/\bin\b/g, ''));