• Csharp: Searching Within a String


     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();
    哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)成功.---Geovin Du(涂聚文)
  • 相关阅读:
    觅踪2
    构建之法阅读笔记08
    觅踪1
    暑期第四周学习周总结
    暑期第三周学习周总结
    暑期第二周学习周总结
    数据库程序设计第九天--整合总结
    数据库程序设计第八天--隔离人员权限
    数据库程序设计第七天--隔离地权限
    数据库程序设计第六天--管理员权限
  • 原文地址:https://www.cnblogs.com/geovindu/p/2866069.html
Copyright © 2020-2023  润新知