首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >检查字符串是否包含10个字符之一

检查字符串是否包含10个字符之一
EN

Stack Overflow用户
提问于 2009-09-07 19:51:11
回答 4查看 103.7K关注 0票数 121

我正在使用C#,我想检查一个字符串是否包含十个字符中的一个,如*、&、#等。

最好的方法是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-07 19:54:52

在我看来,以下是最简单的方法:

代码语言:javascript
复制
var match = str.IndexOfAny(new char[] { '*', '&', '#' }) != -1

或者以一种可能更容易阅读的形式:

代码语言:javascript
复制
var match = str.IndexOfAny("*&#".ToCharArray()) != -1

根据所需的上下文和性能,您可能希望也可能不希望缓存char数组。

票数 231
EN

Stack Overflow用户

发布于 2009-09-07 19:54:07

代码语言:javascript
复制
String.IndexOfAny(Char[])

这是the Microsoft's documentation

票数 5
EN

Stack Overflow用户

发布于 2011-07-07 18:08:13

代码语言:javascript
复制
var specialChars = new[] {'\\', '/', ':', '*', '<', '>', '|', '#', '{', '}', '%', '~', '&'};

foreach (var specialChar in specialChars.Where(str.Contains))
{
    Console.Write(string.Format("string must not contain {0}", specialChar));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1390749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档