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

本文关键字:字符 包含两 字符串 是否 检查 | 更新日期: 2023-09-27 17:55:16

我需要检查一个字符串是否至少有两个字母字符,如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

您可以创建一个简单的帮助程序函数,该函数循环使用字符串,并采用要满足的最低阈值。 它返回布尔值以匹配来自.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;
}

使用正则表达式

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

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

不是真的。您必须遍历字符串并检查每个字符是否都是一个数字才能获得计数。