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(涂聚文)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2011-01-18 C# Menu 导航菜单控件Apple Safari & Google Chrome浏览器上显示无效问题