当前位置: 首页 > 编程语言 > C#

如何判断一个字符串是否包含特殊字符?分享

时间:2023-04-11 01:05:38 C#

如何判断一个字符串是否包含特殊字符?我想查找一个字符串是否包含任何特殊字符,例如!,@,#,$,%,^,&,*,(,)…等。如何在不循环遍历字符串中的所有字符的情况下执行此操作?RegexRgxUrl=newRegex("[^a-z0-9]");blnContainsSpecialCharacters=RgxUrl.IsMatch(stringToCheck);使用String.IndexOfAny:privatestaticreadonlychar[]SpecialChars="!@#$%^&*()".ToCharArray();...intindexOf=text.IndexOfAny(SpecialChars);if(indexOf==-1){//Nospecialchars}当然,这会在内部循环——但至少你不必在代码中执行它。与其检查字符串是否包含“特殊字符”,不如检查字符串中的所有字符都是“正常”字符,换句话说,使用白名单而不是黑名单通常会更好。原因是有太多的字符可以被认为是“特殊字符”,如果你试图列出它们,你一定会错过一个。因此,与其进行您要求的检查,不如检查您的字符串是否与正则表达式匹配@"^w+$"或您需要的任何内容。Linq是新的黑色。string.Any(c=>char.IsSymbol(c));对于IsSymbol(),有效符号是UnicodeCategory的成员。编辑:这不会捕获所有字符。这可能会被添加:string.Any(c=>!char.IsLetterOrDigit(c));这是一个使用LINQ检查特殊字符的简短解决方案privateboolContainsSpecialChars(stringvalue){varlist=new[]{"~","`","!","@","#","$","%","^","&","*","(",")","+","=","""};returnlist.Any(value.Contains);}I'试图完成不同的结果。创建一个返回用于分隔确定字符串(如1#4#5)的特殊字符的方法,然后用它来拆分相同的字符串。由于我维护的系统是由许多不同的人构建的,在某些情况下,我不知道是哪种模式(通常我不知道),以下对我帮助很大。我还不能投票。publicStringSeparator(){**StringspecialCharacters="%!@#$#^&*()?/>。多谢你们。//除了正则表达式,我们还可以使用这个字符串input=Console.ReadLine();char[]a=input.ToCharArray();char[]b=newchar[a.Length];整数计数=0;for(inti=0;ipublicstaticboolHasSpecialCharacters(stringstr){stringspecialCharacters=@"%!@#$%^&*()?/>。使用PHP,您可以尝试:if(preg_match("[^A-Za-z0-9]",$yourString){//DOWHATEVER}如果字符串包含字母或数字以外的任何内容,则返回TRUE。希望这会有所帮助。另外...以上是C#学习教程:如何判断一个字符串是否包含特殊字符?如果分享的内容对你有用,需要进一步了解C#学习教程,希望你多多关注---foreach(charcharacterin"some*!@#@!#string"){if(!Char.IsLetterOrDigit(character)){//特殊字符。}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: