我需要检查字符串是否至少包含两个字母字符,例如a1763r
或ab1244
我以为我会使用类似的东西:
myString = "a123B";
myString.Any(char.IsDigit).Count();
但我使用.net 2.0,因此此方法Any()
不存在。
有没有相应的东西?
答案 0 :(得分:4)
不知道alpha或什么不知道,但你可以计算没有Linq的数字是多少字符,如下所示:
string str = "a123B";
int digits = 0;
foreach (char c in str)
if (char.IsDigit(c))
digits++;
print(digits); // 3
答案 1 :(得分:2)
您可以创建一个简单的辅助函数,它循环遍历您的字符串,并采用最低阈值来满足。它返回布尔值以匹配.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;
}
答案 2 :(得分:0)
使用regexpressions
两个字母:Regex.IsMatch(myString, "[A-Za-z].*?[A-Za-z]");
两位数:Regex.IsMatch(myString, "\d.*?\d");
答案 3 :(得分:0)
不是真的。您将不得不循环遍历字符串并检查每个字符是否为数字以获得计数。