我如何用 '' 替换除 0-9 az 和某些字符数组之外的任何字符(什么都没有)。
我的代码看起来像这样
Var pCharArray = ['l', 'o', 'c'];//local characters
Var stringOrginal = 'Some Text';
stringOrginal.replace(/(^[0-9][a-z]pCharArray)/g, '');
应该删除每个不是 0-9 且不是 az且不在pCharArray中的字符。
我如何用 '' 替换除 0-9 az 和某些字符数组之外的任何字符(什么都没有)。
我的代码看起来像这样
Var pCharArray = ['l', 'o', 'c'];//local characters
Var stringOrginal = 'Some Text';
stringOrginal.replace(/(^[0-9][a-z]pCharArray)/g, '');
应该删除每个不是 0-9 且不是 az且不在pCharArray中的字符。
你可以使用这个:
stringOrginal.replace(new RegExp("[^0-9a-z" + pCharArray.join('')+"]", 'g'), "");
笔记:
Var => var (lowercase)
^ 字符仅在字符类内部使用时表示否定,即 [^a] 表示除 a 之外的任何字符。当它在字符类之外使用时,它意味着字符串的开头。
正确代码:
stringOrginal.replace(new RegExp("[^0-9a-z"+pCharArray.join('')+"]", 'g'), '');
另请注意,如果您想在 pCharArray 数组中包含反斜杠或右括号,您应该分别在此处将它们声明为 '\\' 和 '\]'。