我试图弄清楚正则表达式将匹配任何不是字母或数字的字符 . 所以字符如(,, @,£,()等...
一旦找到,我想用空格替换它 .
任何建议 .
要匹配除字母或数字以外的任何内容,您可以尝试:
[^a-zA-Z0-9]
并替换:
var str = 'dfj,dsf7lfsd .sdklfj'; str = str.replace(/[^A-Za-z0-9]/g, ' ');
此正则表达式不匹配字母,数字和下划线字符 .
\W
例如在javascript中:
"(,,@,£,() asdf 345345".replace(/\W/g, ' ');
您正在寻找:
var yourVar = '1324567890abc§$)%'; yourVar = yourVar.replace(/[^a-zA-Z0-9]/g, ' ');
这将用空格替换所有非字母数字字符 .
最后的“g”替换所有出现的内容 .
您也可以使用区分大小写的选项: /[^a-z0-9]/gi ,而不是指定a-z(小写)和A-Z(大写) .
/[^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
只为其他人看:
someString.replaceAll("([^\\p{L}\\p{N}])", " ");
将删除任何非字母和非数字unicode字符 .
Source
尝试做str.replace(/ [^\ w] /);它将替换你的字符串中的所有非字母和数字!
编辑1: str.replace(/[^\w]/g, ' ')
str.replace(/[^\w]/g, ' ')
您是否尝试过 str = str.replace(/\W|_/g,''); 它将返回一个没有任何字符的字符串,您可以指定管道栏后面是否有任何特殊字符 | 也可以捕获它们 .
str = str.replace(/\W|_/g,'');
|
var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, ''); 它将返回 str = 1324567890abcJohnDoe
var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, '');
str = 1324567890abcJohnDoe
或查找数字和字母,并将其替换为空字符串(“”):
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, ''); 它将返回 str = '§$)% #$@';
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, '');
str = '§$)% #$@';
要匹配字母,数字或字母以外的任何字母和变音符号,如 é ,您可以尝试这样:
é
[^\wÀ-úÀ-ÿ]
var str = 'dfj,dsf7é@lfsd .sdklfàj1'; str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
受到支持变音符号的顶级帖子的启发
source
8 回答
要匹配除字母或数字以外的任何内容,您可以尝试:
并替换:
此正则表达式不匹配字母,数字和下划线字符 .
例如在javascript中:
您正在寻找:
这将用空格替换所有非字母数字字符 .
最后的“g”替换所有出现的内容 .
您也可以使用区分大小写的选项:
/[^a-z0-9]/gi
,而不是指定a-z(小写)和A-Z(大写) .这是太晚了,但由于没有接受的答案,我想提供我认为最简单的答案:\ D - 匹配所有非数字字符 .
结果在x:“12323525”
见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
只为其他人看:
将删除任何非字母和非数字unicode字符 .
Source
尝试做str.replace(/ [^\ w] /);它将替换你的字符串中的所有非字母和数字!
编辑1:
str.replace(/[^\w]/g, ' ')
您是否尝试过
str = str.replace(/\W|_/g,'');
它将返回一个没有任何字符的字符串,您可以指定管道栏后面是否有任何特殊字符|
也可以捕获它们 .var str = "1324567890abc§$)% John Doe #$@'.replace(/\W|_/g, '');
它将返回str = 1324567890abcJohnDoe
或查找数字和字母,并将其替换为空字符串(“”):
var str = "1324567890abc§$)% John Doe #$@".replace(/\w|_/g, '');
它将返回str = '§$)% #$@';
要匹配字母,数字或字母以外的任何字母和变音符号,如
é
,您可以尝试这样:并替换:
受到支持变音符号的顶级帖子的启发
source