gpt4 book ai didi

C# 特殊字符

转载 作者:行者123 更新时间:2023-11-30 19:58:59 25 4
gpt4 key购买 nike

我需要验证一个字符串不包含任何特殊字符,如 #、%...™ 等。基本上它是一个姓名/姓氏(和一些类似的)字符串,但是,坚持 [a-zA-Z ] 不会做,因为像 ščřž... 这样的符号是允许的。

目前我会有点像

bool NonSpecial(string text){
return !Regex.Match(Regex.Escape("!#@$%^&......")).Success;
}

但这似乎太复杂和笨拙了。

有没有更简单和/或更优雅的方法?

更新:所以在阅读了所有回复后,我决定继续

private bool IsName( string text ) {
return Regex.Match( text, @"^[\p{L}\p{Nd}'\.\- ]+$" ).Success && !Regex.Match( text, @"['\-\.]{2}" ).Success && !Regex.Match( text, " " ).Success;
}

基本上,名称可以包含字母、数字、'、.、- 和空格,任何“,.-”必须由至少 1 个其他允许的字符分隔,并且连续不能有 2 个空格。

希望这是正确的。

最佳答案

您是否尝试过text.All(Char.IsLetter)

附言http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/

关于C# 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25295570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com