Hen*_*ian 39 c# windows string char
可能重复:
C#Regex:检查"az"和"AZ"
我可以使用下面的代码:
String hello = "Hello1";
Char[] convertedString = String.ToCharArray();
int errorCounter = 0;
for (int i = 0; i < CreateAccountPage_PasswordBox_Password.Password.Length; i++) {
if (convertedString[i].Equals('a') || convertedString[i].Equals('A') .....
|| convertedString[i].Equals('z') || convertedString[i].Equals('Z')) {
errorCounter++;
}
}
if(errorCounter > 0) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
但是我想这只是为了一个简单的目的需要太多的线,我相信有一种方法更加简单,我尚未掌握的方式.
Oma*_*mar 74
关于什么:
//true if it doesn't contain letters
bool result = hello.Any(x => !char.IsLetter(x));
Run Code Online (Sandbox Code Playgroud)
小智 59
替换你for loop的:
errorCounter = Regex.Matches(yourstring,@"[a-zA-Z]").Count;
Run Code Online (Sandbox Code Playgroud)
记得要使用Regex类,你必须using System.Text.RegularExpressions;在导入
Kir*_*rby 17
您可以使用RegEx:
Regex.IsMatch(hello, @"^[a-zA-Z]+$");
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢,可以使用LINQ:
hello.All(Char.IsLetter);
Run Code Online (Sandbox Code Playgroud)
或者,您可以遍历字符,并使用isAlpha:
Char.IsLetter(character);
Run Code Online (Sandbox Code Playgroud)
您可以寻找正则表达式
Regex.IsMatch(str, @"^[a-zA-Z]+$");
Run Code Online (Sandbox Code Playgroud)