首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在不使用C#中的indexof方法的情况下从字符串中查找子字符串?

在不使用C#中的IndexOf方法的情况下,可以使用以下方法从字符串中查找子字符串:

  1. 使用循环遍历字符串:可以使用for循环逐个比较字符串中的字符,找到与子字符串第一个字符相同的位置,然后再逐个比较后续字符是否匹配。
代码语言:csharp
复制
string str = "This is a sample string";
string subStr = "sample";

for (int i = 0; i <= str.Length - subStr.Length; i++)
{
    int j;
    for (j = 0; j < subStr.Length; j++)
    {
        if (str[i + j] != subStr[j])
            break;
    }
    if (j == subStr.Length)
    {
        Console.WriteLine("子字符串在位置:" + i);
        break;
    }
}
  1. 使用字符串的Contains方法:可以使用字符串的Contains方法判断字符串是否包含子字符串,然后再使用循环遍历字符串找到子字符串的位置。
代码语言:csharp
复制
string str = "This is a sample string";
string subStr = "sample";

if (str.Contains(subStr))
{
    for (int i = 0; i <= str.Length - subStr.Length; i++)
    {
        int j;
        for (j = 0; j < subStr.Length; j++)
        {
            if (str[i + j] != subStr[j])
                break;
        }
        if (j == subStr.Length)
        {
            Console.WriteLine("子字符串在位置:" + i);
            break;
        }
    }
}

请注意,以上方法仅为示例,实际应用中可能需要考虑更多的边界情况和性能优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券