在c#中用单个字符替换多个字符

时间:2016-02-04 07:08:39

标签: c# regex string

如果任何字符串不断出现,我想用单个章程替换我的字符串。

比如说,我有这样的字符串格式。

 string str="eeexampple"

我需要用单个字符替换所有重复的章程。所以我的预期输出将是这样的。

  "example"

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

这是一个简单的方法,可能在linq中有一个更优雅的方法来解决这个问题

public static string RemoveDuplicates(string input)
{
    string sResult = string.Empty;
    char cTemp = '\0';
    foreach (char cItem in input)
    {
        if (cItem != cTemp)
        {
            sResult += cItem;
        }
        cTemp = cItem;
    }
    return sResult;
}

用法:

string str = "eeexampple";
string output = RemoveDuplicates(str);

答案 1 :(得分:2)

这是一种使用RegEx的方法:

string str = "eeexampple";
string output = Regex.Replace(str, "(.)\\1+","$1");