我正在尝试找出与任何不是字母或数字的字符匹配的正则表达式。因此,诸如(,, @,£,()等的字符...
找到后,我想用空格替换它。
任何建议。
我正在尝试找出与任何不是字母或数字的字符匹配的正则表达式。因此,诸如(,, @,£,()等的字符...
找到后,我想用空格替换它。
任何建议。
Answers:
要匹配字母或数字以外的任何内容,您可以尝试以下操作:
[^a-zA-Z0-9]
并替换为:
var str = 'dfj,dsf7lfsd .sdklfj';
str = str.replace(/[^A-Za-z0-9]/g, ' ');
您正在寻找:
var yourVar = '1324567890abc§$)%';
yourVar = yourVar.replace(/[^a-zA-Z0-9]/g, ' ');
这将所有非字母数字字符替换为一个空格。
最后的“ g”替换所有出现的内容。
除了指定az(小写)和AZ(大写),您还可以使用区分大小写的选项:/[^a-z0-9]/gi。
这太晚了,但是由于没有可接受的答案,所以我想提供我认为最简单的答案:\ D-匹配所有非数字字符。
var x = "123 235-25%";
x.replace(/\D/g, '');
x中的结果:“ 12323525”
参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
尝试做str.replace(/ [^ \ w] /); 它将替换字符串中的所有非字母和数字!
编辑1: str.replace(/[^\w]/g, ' ')
str.replace(/[^\w]/g, ' ')。如果不包括/g标志,它将仅替换第一次出现的标志。而且,如果您没有定义替换字符串,这里是一个空格' ',它将被undefined所有地方替换。最后,下划线将不会被替换,因为它们匹配\w。这个答案不是一个完美的选择。
/[A-Z]/ig/[^A-Z]/ig/[0-9]/g或/\d+/g/[^0-9]/g或/\D+/g/[^A-Z0-9]/ig还有其他可能的模式
您是否尝试过str = str.replace(/\W|_/g,'');将返回没有任何字符的字符串,并且可以指定在竖线后是否也有任何特殊字符|来捕获它们。
var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, ''); 它将返回 str = 1324567890abcJohnDoe
或寻找数字和字母并将其替换为空字符串(“”):
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, ''); 它将返回 str = '§$)% #$@';
要将字母,数字或字母以外的其他内容与变音符号进行匹配é,可以尝试以下操作:
[^\wÀ-úÀ-ÿ]
并替换为:
var str = 'dfj,dsf7é@lfsd .sdklfàj1';
str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
受最高职位启发并支持变音符号
\w是针对Word字符的,并且与[a-zA-Z0-9_](注意下划线被视为单词字符)完全相同。...因此速记为str.replace(/[^\w]/g, ' ')