📜  如何在 c# 中从 readline 中搜索字符串(1)

📅  最后修改于: 2023-12-03 15:08:34.562000             🧑  作者: Mango

如何在 C# 中从 Readline 中搜索字符串

在C#中,我们可以使用Readline()方法从输入流中读取字符串。当我们需要从读入的字符串中查找特定的子串时,我们需要使用字符串搜索函数。本文将介绍几种在C#中搜索字符串的方法。

使用 String.IndexOf 方法

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 方法

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方法和正则表达式都是常见的字符串搜索技术。根据具体情况,我们可以选择最适合我们需要的搜索技术。