0

不要な単語を削除するために、javascript で正規表現を使用しようとしています。たとえば、私の基本弦は 1 です。「David Guetta avi!」2.「David Guetta avi bla bla」 3.「avi of David Guetta」

ご覧のとおり、最初の文字列でスペースと感嘆符で囲まれたavi、スペースで囲まれた2番目の文字列、右側のみのスペースで囲まれた3番目の文字列で「avi」を削除したいと思います。

.replace(/avi/s,''); を使用する場合 Davidからもaviを削除します(Ddになります)。ラップされていない、またはシンボルでラップされていない特定の単語を削除する正規表現の書き込みの助けが必要です(スペースもスラッシュも何でも)。

ありがとう :)

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 に答える