Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net正则表达式,用于除空格外的所有不可见、非字母数字字符_C#_.net_Regex_Vb.net - Fatal编程技术网

C# .net正则表达式,用于除空格外的所有不可见、非字母数字字符

C# .net正则表达式,用于除空格外的所有不可见、非字母数字字符,c#,.net,regex,vb.net,C#,.net,Regex,Vb.net,我必须处理一个可能包含各种非标准字符的字符串,我被要求提供一个正则表达式,它将匹配并删除除标点和空格以外的所有非字母数字字符 有办法做到这一点吗?使用这种模式:@[^\s\w]| ^方括号中的符号表示否定。因此,这将匹配除单词字符、数字、字母、下划线和空格[^\s\w]或空格之外的所有内容。使用以下正则表达式 [^a-zA-Z0-9!.,'" ] 向表达式中添加任何其他允许的标点符号。最后一个空格是空格字符 如果允许使用下划线,请使用\w\s将允许空白字符。来自: \p{p}或\p{标点符号}

我必须处理一个可能包含各种非标准字符的字符串,我被要求提供一个正则表达式,它将匹配并删除除标点和空格以外的所有非字母数字字符

有办法做到这一点吗?

使用这种模式:@[^\s\w]|
^方括号中的符号表示否定。因此,这将匹配除单词字符、数字、字母、下划线和空格[^\s\w]或空格之外的所有内容。

使用以下正则表达式

[^a-zA-Z0-9!.,'" ]
向表达式中添加任何其他允许的标点符号。最后一个空格是空格字符

如果允许使用下划线,请使用\w\s将允许空白字符。

来自:

\p{p}或\p{标点符号}:任何一种标点符号

\p{L}或\p{Letter}:来自任何语言的任何种类的字母

\p{Nd}或\p{Decimal_digital_Number}:除表意文字外的任何文字中的0到9的数字

你的正则表达式会像这样

[^\p{L}\p{Nd}\p{P} ]+

这将匹配任何不是字母、数字、标点符号和空格的内容

“你是说像重音字符吗?”杰克取决于他对字母数字的定义。我查了一下德语维基百科,上面写着任何字母和数字,因此我的答案是这样的,但says用来描述拉丁字母和阿拉伯数字的集合。你确定你不想用最接近的ASCII等效字符替换非标准字符吗?把某人的名字,如Èponine,变成ponine,似乎有点不礼貌。