您的位置:

C#查找字符串中包含某字符串

一、字符串的介绍

在计算机编程中,字符串是一种数据类型,它由一串字符组成。字符串可以包含数字、字母、特殊字符等等。在 C# 中,字符串是 String 类型。

在编程中,我们常常需要查找字符串中是否包含某个特定的字符或子串。本文将介绍如何在 C# 中使用不同的方式查找字符串中是否包含某个特定的字符或子串。

二、使用 String.Contains() 方法查找字符串

String.Contains() 方法是最常用的方法之一,具有简单、快捷的优势。该方法返回一个布尔值,指示某个字符串是否包含在这个实例中。

string str = "hello, world!";
if(str.Contains("hello"))
{
    Console.WriteLine("字符串中包含 'hello'");
}
else
{
    Console.WriteLine("字符串中不包含 'hello'");
}

三、使用 String.IndexOf() 方法查找字符串

String.IndexOf() 方法返回一个整数值,指示特定的子串在此实例中的第一个匹配项的索引。如果未找到该子串,则返回 -1。

string str = "hello, world!";
int index = str.IndexOf("hello");
if(index != -1)
{
    Console.WriteLine("字符串中包含 'hello',索引值为:{0}", index);
}
else
{
    Console.WriteLine("字符串中不包含 'hello'");
}

四、使用正则表达式查找字符串

如果需要更为复杂的字符串查找,可以使用正则表达式来匹配字符串。正则表达式是一种表达式语言,用来描述字符串的特定模式。

string pattern = "hello";
Regex regex = new Regex(pattern);
string str = "hello, world!";
if(regex.IsMatch(str))
{
    Console.WriteLine("字符串中包含 'hello'");
}
else
{
    Console.WriteLine("字符串中不包含 'hello'");
}

五、使用 LINQ 表达式查找字符串

LINQ(Language Integrated Query)是 C# 语言特有的一种数据查询方式。使用 LINQ 表达式可以实现复杂的字符串查找。

string str = "hello, world!";
bool isContain = str.Select((c, i) => i + pattern.Length <= str.Length && str.Substring(i, pattern.Length) == pattern).Any(result => result);
if(isContain)
{
    Console.WriteLine("字符串中包含 'hello'");
}
else
{
    Console.WriteLine("字符串中不包含 'hello'");
}