1 /// <summary> 2 /// 20130118 3 /// 搜尋字串是否存在 4 /// 塗聚文 締友計算機資訊技術有限公司 5 /// 捷為工作室 6 /// </summary> 7 public class StringSearchClass 8 { 9 /// <summary>10 /// 尋找字串11 /// StringIndexOf("1,2,3,4,5,6", "1,8");12 /// </summary>13 /// <param name="str1">字串</param>14 /// <param name="judgestr">尋找的字元或串</param>15 /// <returns>返回是否存在</returns>16 public static bool StringIndexOf(string str1, string searchstr)17 {18 bool isExist = true;19 str1 = "," + str1 + ",";20 string[] strs = searchstr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);21 foreach (string strtemp in strs)22 {23 if (str1.IndexOf(',' + strtemp + ',') == -1)24 {25 isExist = false;26 break;27 }28 }29 return isExist;30 }31 /// <summary>32 /// 尋找字串 33 /// 塗聚文34 /// </summary>35 /// <param name="str1">字串</param>36 /// <param name="judgestr">尋找的字元或字串</param>37 /// <returns></returns>38 public static bool StringContains(string str1, string searchstr)39 {40 bool isExist = true;41 str1 = "," + str1 + ",";42 string[] strs = searchstr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);43 foreach (string strtemp in strs)44 {45 if (!str1.Contains(',' + strtemp + ','))46 {47 isExist = false;48 break;49 }50 }51 return isExist;52 }53 /// <summary>54 /// 尋找字串55 /// 塗聚文56 /// </summary>57 /// <param name="str1">字串</param>58 /// <param name="judgestr">尋找的字元或字串</param>59 /// <returns></returns>60 public static bool StringRegex(string str1, string searchstr)61 {62 bool isExist = true;63 str1 = "," + str1 + ",";64 string[] strs = searchstr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);65 foreach (string strtemp in strs)66 {67 if (!Regex.Match(str1, strtemp, RegexOptions.IgnoreCase).Success)68 {69 isExist = false;70 }71 }72 return isExist;73 }74 }
測試:
1 //測試2 Stopwatch sw = new Stopwatch();3 4 sw.Start();5 // bool s = StringIndexOf("1,2,3,4,5,6", "1,6");//True,所耗時間:00:00:00.00035576 // bool s = StringContains("1,2,3,4,5,6", "1,6");//True,所耗時間:00:00:00.00036257 bool s = StringRegex("1,2,3,4,5,6", "1,6");//False,所耗時間:00:00:00.0286617 //True,所耗時間:00:00:00.0008295 //True,所耗時間:00:00:00.00082378 sw.Stop();9 this.textBox1.Text=s.ToString()+",所耗時間:"+sw.Elapsed.ToString();