加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 正则表达式,确保不重复任何字符

发布时间:2020-12-15 23:55:57 所属栏目:百科 来源:网络整理
导读:我需要确保输入字符串遵循以下规则: 它应仅包含大写字符. 字符串中不应重复任何字符. 例如. ABCA无效,因为’A’正在重复. 对于大写的东西,[A-Z]应该没问题. 但我迷失在如何确保没有重复的角色. 有人可以建议使用正则表达式的方法吗? 解决方法 您可以使用.N
我需要确保输入字符串遵循以下规则:

>它应仅包含大写字符.
>字符串中不应重复任何字符.
例如. ABCA无效,因为’A’正在重复.

对于大写的东西,[A-Z]应该没问题.
但我迷失在如何确保没有重复的角色.

有人可以建议使用正则表达式的方法吗?

解决方法

您可以使用.NET正则表达式执行此操作,但我会建议不要使用它:

string s = "ABCD";
bool result = Regex.IsMatch(s,@"^(?:([A-Z])(?!.*1))*$");

相反,我建议检查字符串的长度是否与不同字符的数量相同,并分别检查A-Z要求:

bool result = s.Cast<char>().Distinct().Count() == s.Length;

另外,如果性能是一个关键问题,请逐个遍历字符并保留您所看到的记录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读