我需要确保输入字符串遵循以下规则:
对于大写的东西,[AZ]应该没问题.但我迷失在如何确保没有重复的角色.
有人可以建议使用正则表达式的方法吗?
您可以使用.NET正则表达式执行此操作,但我会建议不要使用它:
string s = "ABCD";
bool result = Regex.IsMatch(s, @"^(?:([A-Z])(?!.*\1))*$");
Run Code Online (Sandbox Code Playgroud)
相反,我建议检查字符串的长度是否与不同字符的数量相同,并分别检查AZ要求:
bool result = s.Cast<char>().Distinct().Count() == s.Length;
Run Code Online (Sandbox Code Playgroud)
另外,如果性能是一个关键问题,请逐个遍历字符并保留您所看到的记录.
归档时间: |
|
查看次数: |
3295 次 |
最近记录: |