我怎样才能替换除0-9 a-z之外的任何字符以及带有''(无)的某些字符数组。
我的代码看起来像这样
Var pCharArray = ['l', 'o', 'c'];//local characters
Var stringOrginal = 'Some Text';
stringOrginal.replace(/(^[0-9][a-z]pCharArray)/g, '');
不应该删除每个不是0-9 AND 而不是a-z AND 而不是pCharArray的字符。
答案 0 :(得分:4)
您可以使用:
stringOrginal.replace(new RegExp("[^0-9a-z" + pCharArray.join('')+"]", 'g'), "");
注意:
Var => var (lowercase)
答案 1 :(得分:3)
^字符仅在字符类中使用时表示否定,即[^ a]表示除a之外的任何字符。当它在字符类之外使用时,它表示字符串的开头。
正确的代码:
stringOrginal.replace(new RegExp("[^0-9a-z"+pCharArray.join('')+"]", 'g'), '');
另外请注意,如果你想在pCharArray数组中加入反斜杠或结束括号,你应该分别在那里说出'\\'和'\]'。