1
string=string.replace(RegExp(filter[a]+" | "+filter[a],"g"),filter[a])

何らかの理由で、これは、スペースが後に続くフィルターと、前にスペースがあるフィルターの両方に影響を与えません。フィルタが「、」であるとすると、2番目の側を取り、「、」および「、」ではなく「、」のみを置き換えます。フィルタはユーザーが指定するため、次のような通常の正規表現(機能します)を使用string=string.replace(/, | ,/g,filter[a]) できません。なぜ機能しないのか、どのように機能させるのかを誰かに説明してもらえますか?

4

1 に答える 1

0

わたしにはできる:

s = 'abc, def,ghi ,klm'
a = ','
s = s.replace(RegExp(a + " | " + a, "g"), a)
"abc,def,ghi,klm"

正規表現は。に置き換え" , "られないことに注意してください","。代わりにこれを使用してみることができます:

" ?" + filter[a] + " ?"
于 2010-11-13T22:18:38.963 に答える