Str 是个"沈阳,葫芦岛,建昌,绥中,“;s  是一句话 list.FindAll(delegate(string s){return s.Contains(Str);});
得到这句话里是否含有  沈阳,葫芦岛,建昌,绥中 这四个地方。 该如何写这个代码
谢谢了 

解决方案 »

  1.   

    可以参考一下
    http://forum.yftek.com/showtopic-68.aspx
      

  2.   

    string strSource="rrr沈阳nnn";
    List<string> list = new List<string>();
    list.AddRange(new string[] { "沈阳", "葫芦岛", "建昌", "绥中" });
    List<string> lstFind = list.FindAll(str => strSource.Contains(str));
    foreach (string str in lstFind)
    {
        Console.WriteLine(str);
    }
      

  3.   

    string [] strsp=Str.Split(new string[]{","});
    bool temp=true;
    for(int i=0;i<strsp.length;i++)
    {
      if (s.indexof(strsp[i])>0)
       set temp=true
      else 
      set temp=false
       }
    }
    没测试楼主试试 看
      

  4.   

    List<string> list = new List<string>(new string[] { "adfda aa testt", "r234 bb31232", "v345cc31", "4314dd431", "4fds34ee43143" });
    string Str = "aa,bb,cc";StringBuilder pattern_builder = new StringBuilder();
    pattern_builder.Append("(");
    Regex.Split(Str, ",").Select(st => Regex.Escape(st)).ToList().ForEach(st => pattern_builder.Append(st + "|"));
    pattern_builder[pattern_builder.Length - 1] = ')';
    Regex reg = new Regex(pattern_builder.ToString(), RegexOptions.Compiled);
    var result_list = from s in list where reg.IsMatch(s) select s;
    result_list.ToList().ForEach(s => Console.WriteLine(s));
      

  5.   

    如果要同时包含这四个地方的就这样            List<string> list = new List<string>();
                list.Add("test");
                list.Add(" 沈阳,葫芦岛,建昌,绥中");
                List<string> places = new List<string>();
                places.Add("沈阳");
                places.Add("葫芦岛");
                places.Add("建昌");
                places.Add("绥中");            var result = list.FindAll(s => places.All(place => s.Contains(place)));
                result.ToList().ForEach(s => Console.WriteLine(s));
    如果只是要求包含其中一个地方就这样
                var result = list.FindAll(s => places.Any(place => s.Contains(place)));