RegExp函数不能与交替一起使用

时间:2010-11-13 22:12:44

标签: javascript regex alternate alternating

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

出于某种原因,这不会影响空格后面的过滤器和前面有空格的过滤器。假设过滤器是“,”,它将采用第二面并且仅替换“,”而不是“,”和“,”。过滤器是用户指定的,因此我无法使用正常的正则表达式(可以正常工作),例如string=string.replace(/, | ,/g,filter[a]) 有人可以向我解释为什么它不起作用以及如何使其工作?

1 个答案:

答案 0 :(得分:0)

它对我有用:

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

请记住,正则表达式不会将" , "替换为","。您可以尝试使用它:

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