我正在使用C#,我想检查一个字符串是否包含十个字符中的一个,如*、&、#等。
最好的方法是什么?
发布于 2009-09-07 19:54:52
在我看来,以下是最简单的方法:
var match = str.IndexOfAny(new char[] { '*', '&', '#' }) != -1
或者以一种可能更容易阅读的形式:
var match = str.IndexOfAny("*&#".ToCharArray()) != -1
根据所需的上下文和性能,您可能希望也可能不希望缓存char数组。
发布于 2009-09-07 19:54:07
String.IndexOfAny(Char[])
发布于 2011-07-07 18:08:13
var specialChars = new[] {'\\', '/', ':', '*', '<', '>', '|', '#', '{', '}', '%', '~', '&'};
foreach (var specialChar in specialChars.Where(str.Contains))
{
Console.Write(string.Format("string must not contain {0}", specialChar));
}
https://stackoverflow.com/questions/1390749
复制相似问题