Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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# C正则表达式删除特殊字符,但保留字母数字_C# - Fatal编程技术网

C# C正则表达式删除特殊字符,但保留字母数字

C# C正则表达式删除特殊字符,但保留字母数字,c#,C#,如何允许字符(如ĆŽpĐ)或带umlauts的德语字符,您可以使用如图所示的字符类 代码的简化版本:new Regex[^\\p{L}0-9].replace这是一个testĆŽpĐä244$%^&*,String.Empty 这就产生了:这是一个测试 \\在本例中,p{L}表示在不同语言中标记字母的字符集。您可以使用如图所示的字符类 代码的简化版本:new Regex[^\\p{L}0-9].replace这是一个testĆŽpĐä244$%^&*,String.Empty 这就产生了:这是一

如何允许字符(如ĆŽpĐ)或带umlauts的德语字符,

您可以使用如图所示的字符类

代码的简化版本:new Regex[^\\p{L}0-9].replace这是一个testĆŽpĐä244$%^&*,String.Empty

这就产生了:这是一个测试


\\在本例中,p{L}表示在不同语言中标记字母的字符集。

您可以使用如图所示的字符类

代码的简化版本:new Regex[^\\p{L}0-9].replace这是一个testĆŽpĐä244$%^&*,String.Empty

这就产生了:这是一个测试


\\在本例中,p{L}表示在不同语言中标记字母的字符集。

“Ć”、“Ć”、“Ž”、“Ć”和“Đ”都是Unicode类别“字母,大写”的一部分。您可以使用\p{..}与特定Unicode类别中的字符进行匹配,其中。。是短类别名称

例如,\p{Lu}匹配“字母,大写”类别中的所有字符,\p{Ll}匹配“字母,小写”类别中的所有字符

因此,只要用\p{Ll}替换a-z,用\p{Lu}替换a-z,只要确保转义\,或者为表达式使用逐字字符串文字


有关更多信息和所有受支持的类别,请参见。

Č、Ć、Ž、Ž和Đ都是Unicode类别“字母,大写”的一部分。您可以使用\p{..}与特定Unicode类别中的字符进行匹配,其中。。是短类别名称

例如,\p{Lu}匹配“字母,大写”类别中的所有字符,\p{Ll}匹配“字母,小写”类别中的所有字符

因此,只要用\p{Ll}替换a-z,用\p{Lu}替换a-z,只要确保转义\,或者为表达式使用逐字字符串文字

有关更多信息和所有支持的类别,请参阅。

请尝试以下操作:

return Regex.Replace(source, "[^a-zA-Z0-9% @$\"!#%&'()*+,./:;<>=?-]", string.Empty);
德语是:U+0100->U+01FF

试试这个:

return Regex.Replace(source, "[^a-zA-Z0-9% @$\"!#%&'()*+,./:;<>=?-]", string.Empty);
德语是:U+0100->U+01FF