删除非字母字符在C#中删除所有非字母字符的最佳方法是什么?我查找了正则表达式,但是当我这样做时它似乎无法识别正则表达式:stringcleanString="";stringdirtyString="我不知道_8真的知道什么!6非alpha-是什么?";cleanString=Regex.Replace(dirtyString,"[^A-Za-z0-9]","");正则表达式下方有一条红色的摆动线。有没有一种方法可以删除简单的非字母字母,如果可以,有人可以提供示例吗?我不确定循环和数组是否可行,以及如何获取所有非字母字符?我假设我必须做某事,如果不等于A-Z或0-9,则用“”删除?您可以使用LINQ执行此操作:varcleanString=newstring(dirtyString.Where(Char.IsLetter).ToArray());您可以在MSDN上查看其他Char检查。正则表达式下方有一条红色的摆动线。然后:编译预测不起作用(有时会出现错误)。您没有在代码中使用System.Text.RegularExpressions,所以当您说Regex时,它是System.Text.RegularExpressions.Regex,您的意思是System.Text.RegularExpressions.Regex。回到最初的问题:在C#中删除所有非字母字符的最佳方法是什么?您采用的方法适用于小字符串,但[^A-Za-z0-9]将删除非字母数字和[^A-Za-z]非字母字符。这假设您已经限制(或想要添加限制)US-ASCII字符。要包含像á、?、?或δ这样的字母,因为您处理的是真实的单词而不是计算机代码,我会使用@"P{L}"或@"[^p{L}p{N}]"来允许所有字母和数字。如果您正在处理非常大的文本(许多千字节),那么最好通过过滤流来读取它,这样您就可以去除不需要的字符。以上是C#学习教程:删除所有非字母字符分享的内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
