C#:string.IndexOf

在 C# 中,字符串(string)的 IndexOf 方法用于查找子字符串在原始字符串中的位置。值得注意的是,字符串的索引是从 0 开始的,这意味着第一个字符的索引是 0,第二个字符的索引是 1,以此类推。
1、IndexOf 方法的基本使用

    ‌查找子字符串的第一次出现的位置‌
    string originalString = "Hello, World!";
    int index = originalString.IndexOf("World");
    Console.WriteLine(index);  // 输出 7

    这里,IndexOf 方法返回子字符串 "World" 在原始字符串中的起始位置的索引,即 7。

   2、 ‌查找子字符串的最后一次出现的位置‌
    string originalString = "test test test";
    int index = originalString.LastIndexOf("test");
    Console.WriteLine(index);  // 输出 10

    这里使用了 LastIndexOf 方法来找到最后一次出现的位置。

    ‌3、查找子字符串的指定位置之后第一次出现的位置‌
    string originalString = "Hello, World!";
    int startIndex = 7; // 从索引7开始搜索(即"World"后面的位置)
    int index = originalString.IndexOf("!", startIndex);
    Console.WriteLine(index);  // 输出 12,即在"World!"之后的感叹号的位置

    这里从索引 7 开始搜索感叹号 "!" 的位置。

4、IndexOf 方法的高级用法

    ‌(1)忽略大小写‌
    string originalString = "Hello, World!";
    StringComparison comparisonType = StringComparison.OrdinalIgnoreCase;
    int index = originalString.IndexOf("world", comparisonType);
    Console.WriteLine(index);  // 输出 7,即使不匹配大小写

    使用 StringComparison 枚举可以指定搜索时是否忽略大小写。

    ‌(2)查找子字符串的索引范围‌
    string originalString = "Hello, World!";
    int startIndex = 0; // 开始搜索的位置
    int count = originalString.Length; // 搜索的范围长度
    int index = originalString.IndexOf("World", startIndex, count, StringComparison.Ordinal);
    Console.WriteLine(index);  // 输出 7

    通过指定 startIndex 和 count,可以限制搜索的范围。

5、注意事项

  •     如果子字符串不存在于原始字符串中,IndexOf 方法将返回 -1
  •     当使用 LastIndexOf 方法时,如果从指定的开始位置向后查找,也可以指定搜索范围。
  •     使用 IndexOf 和 LastIndexOf 的重载版本可以提供更多的灵活性,如指定搜索范围和比较类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值