我需要查找给定的字符串是否包含2个以上的相邻字符。例如;
Test123
- 应该返回true,因为它有123个(超过2个)相邻数字。
TestABC
- 因ABC而返回true。
Test
- 返回false。
如果有人知道答案,请分享。如果Regex不是解决方案,那么请以任何其他方式提出建议,谢谢。
答案 0 :(得分:0)
这不是正则表达式的工作,但更多的char转换为int。由于每个char都有一个int值,因此您可以跟踪字符之间的差异,如下所示:
static bool isValid(string s)
{
int oldValue = int.MinValue;
int consecutiveCounter = 0;
foreach (char item in s)
{
if(Math.Abs((int)item - oldValue) <= 1)
{
consecutiveCounter++;
oldValue = (int)item;
if (consecutiveCounter == 2)
return true;
else
continue;
}
oldValue = (int)item;
consecutiveCounter = 0;
}
return false;
}