如果任何字符串不断出现,我想用单个章程替换我的字符串。
比如说,我有这样的字符串格式。
string str="eeexampple"
我需要用单个字符替换所有重复的章程。所以我的预期输出将是这样的。
"example"
我怎样才能做到这一点?
答案 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");