C#中提取字符串的解决方法

在做项目(C#)的时候,遇到了一个需要提取字符串的,查了资料,无非就是两个方法。string.subString()和string.Split()这两个方法,

起初想用subString()来提取,可后面发觉此方法不太适合,因为源字符串的长度是SQL语句的SQL文,非常的长,如果长度算错了一个,筛选出来的
结果就差之千里了。
发觉此方法有此局限性后,就换成SPLIT()方法来实现,写到一半的时候,发觉不对劲,SPLIT()中分隔字符用的是CHAR类型,而我想得到的是根据
字符串来分隔字符的。

后面参考了下别人写的关于SPLIT分隔字符串的。

       string E = " AA BB CC DD EE FF GG ";

string X = " ";

string[] S = E.Split(X.ToCharArray(),3);

string A = S[0]; //(“AA”)

string B = S[1]; //(“BB”)       

string C = S[2]; //(“CC DD EE FF GG”)

PS:如果 string E = " AA          BB CC DD EE FF GG ";多几个空格的话,结果就不是上面的输入结果。这个方法比较适合字符串中含有多个特殊符号的时候来分别把字符提取出来。

后面实在是没什么好的方法:只好用了SUBSTRING()来提取;
index = sSql.IndexOf("group");
    sSqla = sSqla.Substring(0,index);
    sSqla = sSqla + "and location.pick_fzn_sg = ";
    sSqla = sSqla + "\'Y\'";
    index = sSql.LastIndexOf("group");
    sSqla = sSqla + sSql.Substring(index,sSql.Length-index);

现在考虑是否要重写SPILT方法来实现上面的功能。


posted @ 2006-08-23 18:16  糊涂小猪  阅读(3826)  评论(1编辑  收藏  举报