有没有函数比较一个字符串与较大的字符串?

这个问题在这里已经有了答案:

  • 不区分大小写'包含(字符串)'22个答案

  • 如果您的搜索区分大小写,则可以使用Contains

    var name = "John Smith";
    if(name.Contains("John"))
    {
       // Name contains John
    }
    

    或者,要获取包含John的所有名称:

    var names = new string[] {"John Smith", "Bob Smith", "Frank"};
    var results = names.Where(n => n.Contains("John"));
    

    如果你想忽略大小写,你可以将这两个字符串转换为小写字母:

    var results = names.Where(n => n.ToLower().Contains("john"));
    

    你也可以实现你自己的不区分大小写的Contains函数作为扩展方法:

    public static bool Contains(this string value, string substr, StringComparison c)
    {
      return value.IndexOf(substr, c) >= 0;
    }
    

    然后使用:

    var results = names.Where(n => n.Contains("John", StringComparison.OrdinalIgnoreCase));
    

    IList<string> lst = new List<string>();
    
    lst.add("John Smith");
    lst.add("Elton Johns");
    lst.add("mark");
    lst.add("jones");
    

    现在要获取包含"John"的名字

    var resultList = lst.Where(x => x.Contains("John")).ToList();
    

    使用System.Linq

        private static List<String> GetNames(List<string> names ,string name)
        {
            return names.Where(x => x.ToLower().Contains(name.ToLower())).ToList();
        }
    
    链接地址: http://www.djcxy.com/p/13097.html

    上一篇: Is there a function to compare a string to a larger string?

    下一篇: Filter an IQueryable with case insensitive.