如何检查字符串是否包含至少一个字母(a-z,A-Z)C#

How to check if string contains at least one alphabetical letter (a-z,A-Z) C#

有人能告诉我如何检查一个字符串是否至少包含一个字母吗? 我试过了:

if (StringName.Text.Contains(Char.IsLetter()))
{
 //Do Something
}

但是不行。

您可以使用 LINQ:

if (StringName.Text.Any(Char.IsLetter))
{
    // Do something
}

尝试 Linq。如果您接受 any Unicode 字母,例如俄语 ъ:

if (StringName.Text.Any(c => char.IsLetter(c))) 
{
    // Do Something
}

如果您只想要 a..z 以及 A..Z

if (StringName.Text.Any(c => c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')) 
{
    // Do Something
}

最后,如果你坚持正则表达式

if (Regex.IsMatch(StringName.Text, @"\p{L}")) 
{
   // Do Something 
}  

或(第二个选项)a..z 以及 A..Z 仅字母

if (Regex.IsMatch(StringName.Text, @"[a-zA-Z]")) 
{
   // Do Something 
}