string test = "1,23,3,23,3,4,5,1";
string temp = Regex.Replace(test, @"\d+", new MatchEvaluator(expReplace));
string result = Regex.Replace(temp, ",+", ",");
result = result.TrimEnd(',');
List<string> list = new List<string>();
private string expReplace(Match m)
{
if (list.Contains(m.Value))
{
return m.Value.Replace(m.Value, "");
}
else
{
list.Add(m.Value);
return m.Value;
}
}
非正则的方法
string str = "1,23,3,23,3,4,5,1";
string[] ss = str.Split(',');
List<string> list = new List<string>();
foreach (string a in ss)
{
if (!list.Contains(a))
{
list.Add(a);
list.Add(",");
}
}
string resultStr = "";
foreach (string s in list)
{
resultStr += s;
}
resultStr = resultStr.TrimEnd(',');