检查字符串是否包含子字符串列表

时间:2011-11-29 13:35:56

标签: c#-4.0

如何检查特定字符串以查看它是否包含一系列子字符串? 特别是这样的事情:

public GetByValue(string testString) {

    // if testString contains these substrings I want to throw back that string was invalid
    // string cannot contain "the " or any part of the words "College" or "University"

   ...
}

5 个答案:

答案 0 :(得分:1)

如果需要考虑性能,您可能需要考虑使用RegexStringValidator class

答案 1 :(得分:0)

您可以使用string.Contains()方法

http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx

// This example demonstrates the String.Contains() method
using System;

class Sample 
{
public static void Main() 
{
string s1 = "The quick brown fox jumps over the lazy dog";
string s2 = "fox";
bool b;
b = s1.Contains(s2);
Console.WriteLine("Is the string, s2, in the string, s1?: {0}", b);
}

} / * 此示例生成以下结果:

字符串中的字符串s2是否为s1 ?: True * /

答案 2 :(得分:0)

这是一个有趣的问题。正如@Jon所提到的,正则表达式可能是一个好的开始,因为它允许您一次评估多个负面匹配(可能)。相比之下,一个天真的循环效率会低得多。

答案 3 :(得分:0)

您可以按照以下方式查看....

   class Program
{



public static bool checkstr(string str1,string str2)
{
 bool c1=str1.Contains(str2);
 return c1;

}

public static void Main()
{
string st = "I am a boy";
string st1 = "boy";

bool c1=checkstr(st,st1);
//if st1 is in st then it print true otherwise false
      System.Console.WriteLine(c1);
}
}

答案 4 :(得分:0)

决定不检查字符串以限制我的数据返回,而是将我的返回限制为.Take(15),如果返回计数超过65,536,则返回null