C# .net正则表达式,用于除空格外的所有不可见、非字母数字字符
我必须处理一个可能包含各种非标准字符的字符串,我被要求提供一个正则表达式,它将匹配并删除除标点和空格以外的所有非字母数字字符 有办法做到这一点吗?使用这种模式:@[^\s\w]|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]或空格之外的所有内容。使用以下正则表达式
[^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,似乎有点不礼貌。