日期:2014-05-19  浏览次数:20920 次

string类型去除重复
有一个string类型字符串例如:“1,1,1,2,2,2”       ,“3,3,4,4”
让结果为:“1,2”,“3,4”去除重复的代码应该如何写


------解决方案--------------------
try

using System .Text .RegularExpressions;

string yourStr = ..........;
string result = Regex.Replace(yourStr, @ "(? <=^|,)(\d+)(?=,|$)(,\1)+ ", @ "$1 ");

------解决方案--------------------
通用的,只要是这种结构,不管两个“”之间是什么

using System .Text .RegularExpressions;

string yourStr = ..........;
string result = Regex.Replace(yourStr, @ "(? <=^|,)([^,]+)(?=,|$)(,\1)+ ", @ "$1 ");

------解决方案--------------------
(? <=^|,)([^,]+)(?=,|$)(,\1)+

这个正则的意思呢,就是:四部分
(? <=^|,) //从头开始,或者逗号作为开始
([^,]+) //出了逗号以外的任何字符,至少包含一个,并尽可能多的取符合条件的,分成一组
(?=,|$) //字串自然结尾,或者逗号结尾
(,\1)+ //,+前面的分组1 可以有1~n个