检查字符串是否包含至少两个字母字符

Check if string contains at least two alpha chars

我需要检查一个字符串是否至少有两个字母字符,例如 a1763rab1244
我在想我会使用类似的东西:

myString = "a123B";  
myString.Any(char.IsDigit).Count();

但我使用的是 .net 2.0,所以此方法 Any() 不存在。

是否有等效的东西?

不知道 alpha 或其他什么,但您可以像这样在没有 Linq 的情况下计算有多少个字符是数字:

string str = "a123B";
int digits = 0;
foreach (char c in str)
    if (char.IsDigit(c))
        digits++;
print(digits); // 3

使用正则表达式

两个字母:Regex.IsMatch(myString, "[A-Za-z].*?[A-Za-z]");

两位数:Regex.IsMatch(myString, "\d.*?\d");

您可以创建一个简单的辅助函数来遍历您的字符串,并满足最小阈值。它 returns 布尔值匹配来自 .Any()

的输出行为类型
public bool ContainsMinAlphaCharacters(string input, int threshold)
{
    var count = 0;
    foreach (var character in input)
    {
        if (char.IsDigit(character)) count++;
        if (count >= threshold) 
        {
            return true;
        }
    }

    return false;
}

不是真的。您将必须遍历字符串并检查每个字符是否为数字以获取计数。