检查字符串是否包含至少两个字母字符
Check if string contains at least two alpha chars
我需要检查一个字符串是否至少有两个字母字符,例如 a1763r
或 ab1244
我在想我会使用类似的东西:
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;
}
不是真的。您将必须遍历字符串并检查每个字符是否为数字以获取计数。
我需要检查一个字符串是否至少有两个字母字符,例如 a1763r
或 ab1244
我在想我会使用类似的东西:
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;
}
不是真的。您将必须遍历字符串并检查每个字符是否为数字以获取计数。