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();

转载于:https://www.cnblogs.com/geovindu/archive/2013/01/18/2866069.html

Csharp: Searching Within a String相关推荐

  1. python跟csharp_unity-工具-csharp与python交互

    title: unity-工具-csharp与python交互 categories: Unity3d tags: [unity, 编辑器, 扩展, python] date: 2020-03-23 ...

  2. asp.net实现C#代码加亮显示

    以下是代码片段: StringWriter textBuffer = new StringWriter(); Match match= Regex.Match(HTMLStr,@"/&quo ...

  3. 核心(Core) Javascript 学习手记

    说明: 一字一句都是俺敲出来的, ^^. 转载请注明出处哦. 前些日子, 发现好些地方需要用到 Js 代码, 以前没怎么系统的学习过, 要用到的时候查一堆一堆的手册, 写得不好不说, 还很浪费时间,  ...

  4. Unity 引擎UGUI之自定义树形菜单(TreeView)

    先上几张效果图:          如果你需要的也是这种效果,那你就来对地方了! 目前,我们这个树形菜单展现出来的功能如下: 1.可以动态配置数据源: 2.点击每个元素的上下文菜单按钮(也就是图中的三 ...

  5. windows下定期清理超过一定时间的文件

    windows下定期清理超过一定时间的文件 背景 linux下当我们想定期清理超过7天无修改的日志或备份文件,可以通过以下命令来完成: find $path -type f -mtime|-ctime ...

  6. 向Lucene增加中文分词功能

    一.分词功能介绍 分词模块对于搜索的重要性不言而喻.例如,没有分词时,搜索"和服"会出现"产品和服务",搜索"海尔"会出现"海尔德 ...

  7. 函数中{}输出格式详解(C#)

    Console.WriteLine()函数中{}输出格式详解(C#) Console.WriteLine()函数的格式一直没怎么注意.今天同事问起Console.WriteLine({0:D3},a) ...

  8. 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数

    [索引页] [源码下载] 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数, 动态绑定(dynamic), 泛型协变和逆变, CountdownEvent, Barri ...

  9. 浅谈三层架构中的实体类(C#)

    最近因为三层架构中的实体类,引发了不少小问题,下面列举一下,谈谈自己的感想. 本文所指的实体类仅限于三层中的实体类,即数据库表的映射. 一.为什么要用实体类? |  使程序简洁易懂,便于维护. |  ...

  10. Discuz!NT 模板机制分析(转)

    作为产品中的一大特色,模板机制一经推出,就引来了大家特别是站长们的关注.但它所饱受的风风 雨雨也成了那时不少人关注的话题.而今天本人将结合在产品组中的开发经历,介绍一下模板机制在设计 使用时的一些体会 ...

最新文章

  1. 研究生:我们的任务是把导师培养成院士
  2. 流媒体服务器之rtp协议,rtcp协议,rtsp协议,sdp协议,sip协议简析
  3. ASP.NET MVC 3 RC发布
  4. android自定义模态框,安卓开发自定义弹出框的简单方式(纯代码布局)
  5. 人生苦短,我学python之python+selenium select下拉框
  6. java hprof_java 性能之 hprof
  7. java 提高性能的 容器库_容器隔离性带来的问题--容器化Java应用比虚机启动速度慢...
  8. Linux下C++开发系列(一)序——我是如何开始linux下C++开发的
  9. eclipse for php开发环境,eclipse for php 开发环境配置
  10. axure元件库 文件上传_一库:便捷的前后台元件库
  11. 在我一生中最猥琐的时候遇见你(1)
  12. SQL注入双引号报错注入
  13. wps表格l制作甘特图_十分钟学会制作Excel甘特图,工作进度一目了然!
  14. Bootstrap学习笔记02
  15. 【软考软件评测师】第五章节 安全测试测试方法
  16. Python OpenSSL基本操作接口
  17. QLU—新生训练赛002补题
  18. 计算机能使用硬盘吗,电脑内置硬盘可以直接当移动硬盘用吗?
  19. 麒麟系统安装CANN开发环境
  20. SQL注入漏洞攻守之道

热门文章

  1. 编译OpenJDK8-u302出错:error C3861: “INT64_C”: 找不到标识符
  2. JAVA转为wasm
  3. JAVA版的IntHashMap的多个源码
  4. 在使用体验上,VS远远不如Eclipse
  5. LINUX脚本中如何判断相等
  6. 热烈庆贺博客等级V7
  7. python研究背景与意义_立体匹配的研究背景以及意义
  8. VS C++ vector结构体 增加元素 删除元素 获取第一个元素 最后一个元素 清空元素
  9. java定时器 不延时_ScheduledExecutorService 将一个定时任务延迟
  10. 实施工程师是干嘛的_CTO大怒:300万建设数据中台,啥也没看见,我要它干嘛?...