我尝试在javascript上使用正则表达式来删除一些不需要的单词。 例如,我的基本字符串是 1.“David Guetta avi!” 2.“David Guetta avi bla bla” 3.“David Guetta的avi”
我想删除“avi”,如你所见,在第一个字符串中用空格和感叹号包裹的avi,第二个字符串用空格包裹,第三个字符串仅用右边的空格包裹。
如果我使用.replace(/ avi / s,'');它也会从大卫那里移除avi(将是Dd)。 我需要写regexp的帮助,这将删除未被符号包裹或包裹的特定单词(也可以删除任何空格)。
谢谢:)
答案 0 :(得分:1)
您是否尝试使用边界特殊字符? 所以正则表达式将是:
\b<word>\b
答案 1 :(得分:0)
怎么样?
\W\avi\W{0,1}
\W
代表任何非单词字符。
您也可以尝试
[^a-zA-Z]avi[^a-zA-Z]{0,1}
其中[^a-zA-Z]
是a-zA-Z
中不的任何内容。
答案 2 :(得分:0)
我已将@Evan的答案合并到符号删除正则表达式+双空格删除中,最终的答案是:
mystring.replace(/[^\w\s]|\bavi\b|\s{2,}/gi,'');
谢谢大家:)