📅  最后修改于: 2023-12-03 15:08:34.562000             🧑  作者: Mango
在C#中,我们可以使用Readline()
方法从输入流中读取字符串。当我们需要从读入的字符串中查找特定的子串时,我们需要使用字符串搜索函数。本文将介绍几种在C#中搜索字符串的方法。
String.IndexOf
方法返回指定字符串在当前 String 对象中第一次出现的位置。如果该子串未找到,则返回 -1。这个方法有多个重载形式,允许我们设置查找的开始位置和搜索方式等。以下是一个搜索字符串示例:
string inputString = Console.ReadLine();
string searchString = "hello";
int index = inputString.IndexOf(searchString);
if (index >= 0)
{
Console.WriteLine($"'hello' found at position {index}");
}
else
{
Console.WriteLine("'hello' not found");
}
在这个例子中,我们使用IndexOf
方法搜索字符串"hello"在输入字符串inputString
中的位置。如果找到了,则将该字符串的位置打印出来。否则,我们打印出"hello not found"的消息。
String.Contains
方法用于检查字符串是否包含指定的子串。该方法返回值为布尔类型,并且只有两种可能的返回值:true 表示包含子串,false 表示不包含。以下是一个使用 Contains 方法的示例:
string inputString = Console.ReadLine();
string searchString = "hello";
if (inputString.Contains(searchString))
{
Console.WriteLine($"'{searchString}' found in input string");
}
else
{
Console.WriteLine($"'{searchString}' not found");
}
在这个例子中,我们使用Contains
方法检查字符串"hello"是否包含在输入字符串inputString
中。如果找到了,则将包含子串的消息打印出来。否则,我们打印出"hello not found"的消息。
我们也可以使用正则表达式来搜索字符串。正则表达式是用于匹配和搜索文本的模式。在C#中,我们可以使用Regex
类来操作正则表达式。以下是一个使用正则表达式搜索字符串的示例:
string inputString = Console.ReadLine();
string pattern = @"hello";
Regex regex = new Regex(pattern);
if (regex.IsMatch(inputString))
{
Console.WriteLine($"'{pattern}' found in input string");
}
else
{
Console.WriteLine($"'{pattern}' not found");
}
在这个例子中,我们使用正则表达式模式"hello"
创建一个正则表达式,并使用IsMatch
方法来测试输入字符串inputString
是否匹配该模式。如果找到了,则将匹配的消息打印出来。否则,我们打印出"hello not found"的消息。
本文介绍了几种在C#中搜索字符串的方法。String.IndexOf
方法、String.Contains
方法和正则表达式都是常见的字符串搜索技术。根据具体情况,我们可以选择最适合我们需要的搜索技术。