我如何检查一个string是否存在于另一个string中

希望有人能帮助我。 我只是学习C#,我有一个简单的问题。

我有一个variables,我想检查是否存在另一个string。 就像是

if ( test contains "abc" ) { } 

有没有一种简单的方法来做到这一点在C#

使用String.Contains :

 if (stringValue.Contains(anotherStringValue)) { // Do Something // } 

IndexOf()函数将完成工作…
如果string不存在,它将返回-1

 string MainString = "String Manipulation"; string SearchString = "pul"; int FirstChr = MainString.IndexOf(SearchString); 

此代码显示如何在string中search子string,并返回开始的索引位置或-1,表示string尚未find。

你也可以使用Contains() ,Contains是stringtypes的一个实例方法,这意味着你可以在程序中的特定string上调用它。 它有一个布尔结果,如果find参数,则返回true;如果没有find,则返回false。

 using System; class Program { static void Main() { Test("Dot Net Perls"); Test("dot net perls"); } static void Test(string input) { Console.Write("--- "); Console.Write(input); Console.WriteLine(" ---"); // // See if the string contains 'Net' // bool contains = input.Contains("Net"); // // Write the result // Console.Write("Contains 'Net': "); Console.WriteLine(contains); // // See if the string contains 'perls' lowercase // if (input.Contains("perls")) { Console.WriteLine("Contains 'perls'"); } // // See if the string contains 'Dot' // if (!input.Contains("Dot")) { Console.WriteLine("Doesn't Contain 'Dot'"); } } } 

检查C#string函数和操纵有关string的任何事情。

参考这个 。

 String.Contains(...) 

你必须使用正则expression式。 例如Regex.IsMatch(test, "abc") 。 如果testing包含abc,这将返回true。

使用String.Contains(...)可能不是一个好主意。

String.Contains(...)进行序号区分大小写的比较。 所以,小心大小写匹配。

当然你可以在检查之前使用ToLower()ToUpper()

使用可以使用String.ContainsString.Contains这一点。

 if (test.Contains("abc")) { // Your Code Here } 
 if (stringValue.ToUpper().Contains("FIND_THIS")) { // Do Something // } 

对于不区分大小写的search是另一个好的变体。

有一些方法可以进行validation,如CompareToContainsCompareIndexOfAnyIndexOf

检查String类的方法列表。

 string s1 = "ani\u00ADmal"; string s2 = "animal"; string s3 = "abc"; string s4 = "abc"; string s5 = "ABC"; bool b1 = s1.CompareTo(s2) > -1; // return true, exists bool b2 = s3.CompareTo(s4) > -1; // return true, exists bool b3 = s3.CompareTo(s5) > -1; // return false, no case sensitive, no exists bool b4 = s1.Contains(s2); // return false, no exists bool b5 = s3.Contains(s4); // return true, exists bool b6 = s3.Contains(s5); // return false, no case sensitive, no exists string s6 = "MACHINE"; string s7 = "machine"; string s8 = "nature"; int a = String.Compare(s6, 0, s7, 0, s6.Length, true); // return 0, contain and is less int b = String.Compare(s6, 0, s7, 0, s6.Length, false); // return 1, contain and is greater int c = String.Compare(s6, 0, s8, 0, s6.Length, true); // return -1, no contain int d = String.Compare(s6, 0, s8, 0, s6.Length, false); // return -1, no contain int e = s1.IndexOfAny(s2.ToCharArray()); // return 0, exists int f = s3.IndexOfAny(s4.ToCharArray()); // return 0, exists int g = s3.IndexOfAny(s5.ToCharArray()); // return -1, no case sensitive, no exists int h = s1.IndexOf(s2); // return 0, exists int i = s3.IndexOf(s4); // return 0, exists int j = s3.IndexOf(s5); // return -1, no exists