日期:2014-05-17  浏览次数:21077 次

字符串判断更快的方法,谢谢
string str = "0702110409"; (实际上没有10)

string str = "0702101109";  (实际上没有01) 


string str = "0702011209";  (实际上没有11) 

(str实际上是由01、02、03、04、05、06、07、08、09、10、11、12任意五个组成)

判断str里是否包含string target = 01或02或03或04或05或06或07或08或09或10或11或12里的任意一个

刚才,各位老师提示说用:

str.Contains(target)
str.IndexOf(target) 

但是,对于01或11或10的判断,会有问题

但如果用List<string> 效率低,有更好的方法吗?谢谢

------解决方案--------------------
晕,这样不是可以吗?怎么又开贴了
  
       public bool  Find(string str, string target)
        {
            for (int n = 0; n < str.Length - 1; n += 2)
            {
                if (str[n] == target[0] && str[n + 1] == target[1])
                    return true;
            }
            return false;
        }


bool b1=Find("0702110409","10"); //结果是false
bool b2=Find("0702110409","11"); //结果是true
------解决方案--------------------
目测nums[r-2]不是string类型的
------解决方案--------------------
引用:
我的grp 是这样定义的
 List<string> grp = new List<string>();

这个没事
grp[c-7]会自动是string类型
grp[c-][n]是char类型

目测nums[r-2]不是string类型的 
------解决方案--------------------
引用:
List<List<string>> nums = new List<List<string>>();

这肯定不行啊
nums[r-2][0]这个是string类型
nums[r-2][0][0]这个才是char类型