日期:2014-05-18  浏览次数:21017 次

【字符串操作的小问题】
给出一个字符串"abcabc12345612ab";
能不能用正则表达式去除重复 字符,输出 "abc123456"的形式,我想用平衡组实现,不过没成功,有同学可以用正则找出来吗?

------解决方案--------------------
C# code
string test_str = "abcabc12345612ab";
                test_str = string.Join("", test_str.ToArray().Distinct());//abc123456

------解决方案--------------------
C# code

void Main()
{
    string str="abcabc12345612ab";
 
Regex reg = new Regex(@"((\w)\w*?)\2");

while (str != (str = reg.Replace(str, "$1"))) { }

Console.WriteLine(str);  //abc123456

}
//不过我还是建议你用LINQ来实现,这不是正则干的活~~~

------解决方案--------------------
C# code
        Regex regex = new Regex(@"(\w)(?=.*?\1)");
        string str = "abcabc12345612ab";
        Response.Write(regex.Replace(str,""));

------解决方案--------------------
C# code

 string str="abcabc12345612ab";
 str=new string(str.ToCharArray().Distinct().ToArray());

------解决方案--------------------
支持一楼