我想检查一些字符串是否有无效字符.对于无效字符,我的意思是不应该存在的字符.这些是什么角色?这是不同的,但我认为那不重要,重要的是我应该怎么做以及最简单和最好的方法(性能)呢?
假设我只想要包含'A-Z','空','.','$','0-9'的字符串
所以,如果我有一个字符串,如" HELLO STaCKOVERFLOW "=>无效,因为'a'.好的,现在该怎么做?我可以创建一个List<char>并将不允许的每个字符放入其中并使用此列表检查字符串.也许不是一个好主意,因为那时有很多字符.但我可以制作一个包含所有允许的字符的列表吗?然后?对于字符串中的每个字符我都要比较List<char>?任何智能代码?还有一个问题:如果我要添加AZ,List<char>我必须手动添加25个字符,但这些字符就像我在ASCII表中知道65-90,我可以更容易地添加它们吗?有什么建议?谢谢
Thi*_*ter 19
您可以使用正则表达式:
Regex r = new Regex("[^A-Z0-9.$ ]$");
if (r.IsMatch(SomeString)) {
// validation failed
}
Run Code Online (Sandbox Code Playgroud)
要创建一组字符A-Z或者0-9你可以使用一个简单的循环:
for (char c = 'A'; c <= 'Z'; c++) {
// c or c.ToString() depending on what you need
}
Run Code Online (Sandbox Code Playgroud)
但是你不需要使用正则表达式 - 几乎每个正则表达式引擎都能理解范围语法(A-Z).
| 归档时间: |
|
| 查看次数: |
19260 次 |
| 最近记录: |