加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读