c# – 使用数组检查字符串是否包含特定字符串
发布时间:2020-12-15 08:19:01 所属栏目:百科 来源:网络整理
导读:我是c#的新手.我想知道一个字符串,如用户名是否包含特定的单词.我想从数组中获取这些特定的单词.这是一个例子 Console.Write("Name: ");_name = Console.ReadLine();name = Program.ProperNameMethod( _name);Console.WriteLine();string[] badWordArray = {
我是c#的新手.我想知道一个字符串,如用户名是否包含特定的单词.我想从数组中获取这些特定的单词.这是一个例子
Console.Write("Name: "); _name = Console.ReadLine(); name = Program.ProperNameMethod( _name); Console.WriteLine(); string[] badWordArray = { "aBadword1","aBadWord2","aBadWord3" }; if (!string.IsNullOrEmpty(name) // Would like to check for the badwordarray aswell) (更新) 谢谢大家,但是我学习c#只用了大约一个月就无法覆盖lambda或regex了.我稍后会看一下这些代码. 解决方法
您可能需要不区分大小写的验证:
string[] badWordArray = { "aBadword1","aBadWord3" }; Boolean isBadWord = badWordArray .Any(badWord => name.IndexOf(badword,StringComparison.OrdinalIgnoreCase) >= 0); 或者,如果您验证当前的文化 Boolean isBadWord = badWordArray .Any(badWord => name.IndexOf(badWord,StringComparison.CurrentCultureIgnoreCase) >= 0); Paranoic案例涉及使用这样的正则表达式: string[] badWordArray = { "aBadword1","aBadWord3" }; // Nasty user wants to be rude but pass typical filters... String name = "A- Bad..WORD..1 !!!"; String line = Regex.Replace(name,@"W",""); Boolean isBadWord = badWordArray .Any(badWord => line.IndexOf(badWord,StringComparison.OrdinalIgnoreCase) >= 0); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |