2010-11-13 95 views
1
string=string.replace(RegExp(filter[a]+" | "+filter[a],"g"),filter[a]) 

由於某種原因,這不影響前面帶空格的過濾器和空格過濾器。假設過濾器是「,」,它將採取第二方面,只取代「,」而不是「,」和「,」。該過濾器是用戶指定的,所以我不能使用一個正常的正則表達式(它工作),如string=string.replace(/, | ,/g,filter[a]) 有人可以向我解釋爲什麼它不工作,以及如何使它工作?RegExp功能不能與替換功能配合使用

+0

您能提供一個簡短但完整的可運行示例,我們可以使用它重現您收到的錯誤?請確保您引用的所有變量都在示例代碼中定義,以便我們可以在不需要修改的情況下運行它。 – 2010-11-13 22:20:34

回答

0

它爲我的作品:

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

請記住,你的正則表達式不會","取代" , "。您可以嘗試使用它來代替:

" ?" + filter[a] + " ?" 
+0

令人敬畏的傢伙,它的工作。你能解釋一下嗎? – Anonymous 2010-11-13 23:20:09