首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

string类型去除重复,该怎么解决

2012-01-18 
string类型去除重复有一个string类型字符串例如:“1,1,1,2,2,2”,“3,3,4,4”让结果为:“1,2”,“3,4”去除重复的

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个

热点排行