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.0003557 6 // bool s = StringContains("1,2,3,4,5,6", "1,6");//True,所耗時間:00:00:00.0003625 7 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.0008237 8 sw.Stop(); 9 this.textBox1.Text=s.ToString()+",所耗時間:"+sw.Elapsed.ToString();