c# - 如何检查字符串是否有两个以上的重复字符

标签 c# string duplicates

我正在尝试检查一个字符串是否包含两个以上的重复字符。

例如

'aabcd123' = ok
'aaabcd123' = not ok
'aabbab11!@' = ok
'aabbbac123!' = not ok

我试过类似的方法,但没有成功

if (string.Distinct().Count() > 2){ 
                    //do something
                }

如有任何帮助,我们将不胜感激。

最佳答案

这个对我有用:

public bool  IsOK(string s)
{
  if(s.Length < 3) return true;

  return !s.Where((c,i)=> i >= 2 && s[i-1] == c && s[i-2] == c).Any();
}

'aabcd123'     : OK
'aaabcd123'    : not OK
'aabbab11!@'   : OK
'aabbbac123!'  : not OK

关于c# - 如何检查字符串是否有两个以上的重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14634477/

相关文章:

python - Pivot 将行复制到新列 Pandas

c# - 以编程方式将表添加到 Microsoft SQL Server Compact 3.5 数据库

c# - 停止和更改 System.Window.Threading.DispatcherTimer 的间隔

java - java中String中字符替换的最佳方法

c - 最长公共(public)子序列分割错误

mysql - 从具有不同值的两个字段中删除mysql表中的重复项

c# - 是否可以在类成员函数中使用 switch 语句并获取访问器?

c# - 我如何使用 C# 监控进程?

arrays - PowerShell将字符串拆分为二维数组

mysql - 删除基于两个固定条目的双工字段