我如何使用例如这一行:
Regex.Matches(str,@"[a-zA-Z]");
而不是str我会有一个char?
答案 0 :(得分:3)
似乎你想测试角色是否是一个字母。您不需要正则表达式来执行此操作。相反,您可以使用以下内容:
var isLetter = Char.IsLetter(ch);
但是,对于所有UNICODE字母,这将返回true,而不仅仅是A-Z,例如还有像É和其他字母一样的字母,如Æ和你。
如果您只想测试A-Z(大写和小写),您可以使用这个简单的测试:
var upperCaseCh = Char.ToUpperInvariant(ch);
var isLetter = 'A' <= upperCaseCh && upperCaseCh <= 'Z';
答案 1 :(得分:1)
我宁愿使用char类的静态函数或使用比较运算符,即
var test = 'a' <= c && c <= 'z';
静态方法可以为您提供字符类,例如字母,数字或空格。
答案 2 :(得分:0)
你可以在角色上调用ToString
然后使用它:
char ch = 'c';
Regex.Matches(ch.ToString(),@"[a-zA-Z]");