在C#中分隔字符串时,按特定字符进行分隔的时候可能会遇到空值,如何我现在传入的是Id的字符串,如:"1501,1502,1503,,1505",以逗号分隔,由于各种原因,导致传入的字符串中有连续的逗号,如果我要利用这一串字符串得到ID数组作为Sql查询的条件,那么我就必须对这种情况进行处理。
实例:
//数组转换成字符串,字符串切割成数组.
string[] array = new[] {"1m2", "", "ww", "mm", "acas,"};//集合初始化.
string arrayString = string.Join(",", array);//把数组按指定的分隔符转换成字符串.
int count = arrayString.Count(s => s == 'a');//计算某个字符在字符串中出现的次数.
string[] shuzu = arrayString.Split(',');//把string字符串按指定的字符切割成数组.
//处理各种情况多余的逗号.
string zifu = ",1,2,,3,,,4,5,6,,7,8,,,9,"; string a = Regex.Replace(zifu, ",{2,}", ",");//将连续两个及以上的逗号替换成一个逗号. string b = Regex.Replace(zifu, "^\,|(\,{2,})|\,$", "");//开头和结尾不能是中英文逗号,不能有连续中英文逗号. string c = Regex.Replace(zifu, "^\,|\,$", "");//不能以逗号开头或结尾. string d = Regex.Replace(a, "^\,|\,$", "");//不能以逗号开头或结尾. string zifu1 = ",1,2,3,";//以逗号开头和结尾. string e = Regex.Replace(zifu1, "^\,&\,$", "");//不能以逗号开头和结尾,正则无效. string f = Regex.Replace(zifu1, "^\,|\,$", "");//不能以逗号开头或结尾,满足. string zifu2 = ",1,2,3";//以逗号开头. string i = Regex.Replace(zifu2, "^\,&\,$", "");//不能以逗号开头和结尾,正则无效. string j = Regex.Replace(zifu2, "^\,|\,$", "");//不能以逗号开头或结尾,满足. string zifu3 = "1,2,3,";//以逗号结尾. string g = Regex.Replace(zifu3, "^\,&\,$", "");//不能以逗号开头和结尾,正则无效. string h = Regex.Replace(zifu3, "^\,|\,$", "");//不能以逗号开头或结尾,满足.