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