希望把用户填写的字符串去匹配下面的国家名,如果“前几个字符”匹配成功的就返回匹配成功的国家名。
朝鲜,科特迪瓦,葡萄牙,瑞士,洪都拉斯,智利说得有点乱,举个例子:用户提交:洪都拉斯队然后用“洪都拉斯队”去匹配“朝鲜,科特迪瓦,葡萄牙,瑞士,洪都拉斯,智利”,因为用户提交的字符串中,包含洪都拉斯,然后返回:洪都拉斯谢谢帮忙

解决方案 »

  1.   

    StartsWith我认为用这个比较首字符串比较好,但这个只返回BOOL值
      

  2.   

    class Program
    {
      static void Main()
      {
        string input   = "洪都拉斯队";
        string pattern = "朝鲜,科特迪瓦,葡萄牙,瑞士,洪都拉斯,智利";
        foreach (string s in pattern.Split(','))
          if (input.StartsWith(s))
            System.Console.WriteLine(s);
      }
    }
      

  3.   

    using System;class Program
    {
      static void Main()
      {
        System.Console.WriteLine(Match("洪都拉斯队", "朝鲜,科特迪瓦,葡萄牙,瑞士,洪都拉斯,智利"));
      }
      
      static string Match(string input, string pattern)
      {
        foreach (string s in pattern.Split(','))
          if (input.StartsWith(s))
            return s;
        return null;
      }
    }