模糊判断字符串存在与否
《个人作品》:新人学习
模糊判断字符串存在与否
目的实现 包含 * 枚举 任意字符串 、_ 枚举 任意单个字符 的 字符串判断 是否存在 返回为 true or false
yi.能实现 只 包含 * 的字符串
1 /// <summary> 2 /// 字符串判断* 任意(字符串)组成 3 /// </summary> 4 private static Boolean IfStar(String I,String[] s) 5 { 6 foreach (String i in s) 7 { 8 if (!I.Contains(i)) 9 return false; 10 I = I.Remove(0, I.IndexOf(i) + i.Length); 11 } 12 return true; 13 }
er.能实现 只 包含 _ 的字符串
1 /// <summary> 2 /// 字符串判断_ 任意(字符)组成 3 /// </summary> 4 private static Boolean IfUnder(String I,String[] s) 5 { 6 if(!I.Contains(s[0])) 7 return false; 8 9 I = I.Remove(0,I.IndexOf(s[0])); 10 11 foreach(String i in s) 12 { 13 if (I.Contains(i) && I.IndexOf(i).Equals(0)) 14 { 15 try 16 { 17 I = I.Remove(0, I.IndexOf(i) + i.Length + 1); 18 } 19 catch (Exception e) 20 { 21 I = I.Remove(0, I.IndexOf(i) + i.Length); 22 } 23 } 24 else 25 { 26 return false; 27 } 28 } 29 30 return true; 31 }
san.对以上功能总结 实现 * 和 _ 的模糊判断
1 /// <summary> 2 /// 字符串判断 *(任意字符串) _(单个字符) 组成 3 /// </summary> 4 private static Boolean IfAnd(String I, String S) 5 { 6 foreach (String s in S.Split('*')) 7 { 8 if (s.Contains("_")) 9 { 10 return IfUnder(I,s.Split('_')); 11 } 12 else 13 { 14 if (!I.Contains(s)) 15 return false; 16 try 17 { 18 I = I.Remove(0, I.IndexOf(s) + 1); 19 } 20 catch (Exception e) 21 { 22 I = I.Remove(0, I.IndexOf(s)); 23 } 24 } 25 26 } 27 28 return true; 29 30 }
si.为了不必要进入繁琐 的 代码块 进行 分类 操作
1 /// <summary> 2 /// 模糊判断字符串是否存在 3 /// </summary> 4 /// <param name="IfName">字符串</param> 5 /// <param name="ExistString">判断中是否存在的字符串,字符串中的*表示任意字符串,_表示任意一个字符.</param> 6 /// <returns>true/false</returns> 7 public static Boolean orExist(String IfName,String ExistString) 8 { 9 //不存在 * 和 _ 并且不等 return false 如果等 return true 10 if (!ExistString.Contains("*") && !ExistString.Contains("_")) 11 { 12 if (ExistString.Equals(IfName)) 13 { 14 return true; 15 }else{ 16 return false; 17 } 18 }else{ 19 20 //只存在 * 字符 21 if (!ExistString.Contains("_")) 22 { 23 return IfStar(IfName, ExistString.Split('*')); 24 } 25 //只存在 _ 字符 26 else if (!ExistString.Contains("*")) 27 { 28 return IfUnder(IfName, ExistString.Split('_')); 29 } 30 //* 和 _ 都存在 31 else 32 { 33 return IfAnd(IfName,ExistString); 34 } 35 } 36 }
以上为作者自己想法,如有更好请分享共同探讨!
欢迎读者评论,批评,建议。。。。。。;
新人初写微博,文采不好多多见谅。。。。。。

浙公网安备 33010602011771号