我正在尝试找出与任何不是字母或数字的字符匹配的正则表达式。因此,诸如(,, @,£,()等的字符...
找到后,我想用空格替换它。
任何建议。
我正在尝试找出与任何不是字母或数字的字符匹配的正则表达式。因此,诸如(,, @,£,()等的字符...
找到后,我想用空格替换它。
任何建议。
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, ' ')