C# - 检查字符串是否有这个

时间:2010-09-03 16:00:06

标签: c# string

如何检查字符串是否包含其他字符串?

6 个答案:

答案 0 :(得分:6)

为什么要在使用LINQ时进行迭代?我想你要求得到所有字符串作为数组中其他字符串的子串(如果我错了请纠正我):

var result = strings.Where(s => strings.Any(s2 => s2.Contains(s)));

<强>更新

更新后,问题似乎比原始问题容易得多。如果您只想查明字符串是否包含其他字符串,只需使用Contains方法:

var s = "Hello World!";
var subString = "Hello";

var isContained = s.Contains(subString);

或者如果你想进行不区分大小写的搜索,你必须做一些不同的事情:

var s = "Hello World!";
var subString = "hello";

var isContained = s.IndexOf(subString, 
    StringComparison.InvariantCultureIgnoreCase) > 0;

答案 1 :(得分:2)

您可以使用名为IndexOf的方法。

string s1 = "abcd";
string s2 = "cd";
if(s1.IndexOf(s2)>-1) {
   // if s2 is found in s1
}

答案 2 :(得分:0)

    public bool HasString(string item, List<string> arrayOfStrings)
    {
        return arrayOfStrings.Contains(item);
    }

答案 3 :(得分:0)

string lookup = "test";
bool hasString = array.Contains(lookup);

答案 4 :(得分:0)

IEnumerable<string> values = new[] { "" };
string searchTarget = "";
string firstMatch = values.FirstOrDefault(s => s.Contains(searchTarget);
if(firstMatch != null)
{
    // ...
}

答案 5 :(得分:-1)

我正在读它的方式你问的是一个大字符串是否包含另一个更短的字符串?

string bigString = "something";
string testString = "s";
bool containsTestString = bigString.IndexOf(testString) > -1;