0

我尝试在 javascript 上使用正则表达式来删除一些不需要的单词。例如,我的基本字符串是 1。“David Guetta avi!” 2.“大卫·盖塔 avi bla bla” 3.“大卫·盖塔的 avi”

如您所见,我想删除“avi”,在第一个字符串中,avi 由空格和感叹号包裹,第二个字符串由空格包裹,第三个由空格包裹,仅在右侧。

如果我使用 .replace(/avi/s,''); 它也会从大卫(将是 Dd)中删除 avi。我需要编写正则表达式的帮助,它将删除未被符号包裹或包裹的特定单词(还有空格斜杠)。

谢谢 :)

4

3 回答 3

1

您是否尝试过使用单词边界特殊字符?所以正则表达式是:

\b<word>\b
于 2013-03-06T10:05:27.397 回答
0

关于什么

\W\avi\W{0,1}

\W代表任何非单词字符。

你也可以试试

[^a-zA-Z]avi[^a-zA-Z]{0,1}

[^a-zA-Z]什么地方没有a-zA-Z。_

于 2013-03-06T10:04:22.960 回答
0

我已将@Evan 答案组合成符号删除正则表达式 + 双倍空格删除,最终答案是:

mystring.replace(/[^\w\s]|\bavi\b|\s{2,}/gi,'');

谢谢你们 :)

于 2013-03-06T12:09:37.973 回答