c#字符串中查找子串
时间: 2024-09-06 14:03:27 浏览: 38
在C#中,查找字符串中的子串可以通过多种方法实现,这些方法提供不同的功能和效率。以下是一些常用的字符串查找方法:
1. `IndexOf` 方法:这是一个非常常用的方法,用于查找子串在字符串中的位置。如果找到子串,它会返回子串的起始索引;如果没有找到,则返回 -1。
示例代码:
```csharp
string source = "Hello, world!";
int index = source.IndexOf("world"); // 返回索引为 7
```
2. `LastIndexOf` 方法:与 `IndexOf` 类似,但它是从字符串的末尾开始搜索,并返回子串最后出现的位置。
3. `Contains` 方法:检查字符串是否包含指定的子串。它返回一个布尔值。
示例代码:
```csharp
string source = "Hello, world!";
bool contains = source.Contains("world"); // 返回 true
```
4. `StartsWith` 和 `EndsWith` 方法:分别用来检查字符串是否以特定的子串开始或结束。
5. 使用正则表达式:`Regex` 类可以用来查找字符串中的匹配项,适用于复杂的模式匹配。
示例代码:
```csharp
using System.Text.RegularExpressions;
string source = "Hello, world!";
Match match = Regex.Match(source, "world");
if (match.Success)
{
int startIndex = match.Index; // 返回索引为 7
}
```
6. `Substring` 方法:虽然这个方法本身不查找子串,但它经常与 `IndexOf` 或其他方法一起使用来获取子串。
示例代码:
```csharp
string source = "Hello, world!";
int index = source.IndexOf("world");
string sub = source.Substring(index); // 返回 "world!"
```
阅读全文