首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取字符串中第n次出现的字符的索引

获取字符串中第n次出现的字符的索引
EN

Stack Overflow用户
提问于 2012-07-06 21:26:03
回答 9查看 38K关注 0票数 17

我正在尝试创建一个函数,该函数返回字符串中给定字符第N次出现的索引。

这是我的尝试:

代码语言:javascript
复制
private int IndexOfNth(string str, char c, int n)
{
    int index = str.IndexOf(c) + 1;
    if (index >= 0)
    {
        string temp = str.Substring(index, str.Length - index);
        for (int j = 1; j < n; j++)
        {
            index = temp.IndexOf(c) + 1;
            if (index < 0)
            {
                return -1;
            }
            temp = temp.Substring(index, temp.Length - index);
        }
        index = index + (str.Length);
    }
    return index;
}

这应该找到第一个匹配项,去掉字符串的前面部分,从新的子字符串中找到第一个匹配项,然后继续下去,直到得到第n个匹配项的索引。然而,我没有考虑到最后一个子串的索引将如何从原始字符串中的原始实际索引偏移。我该怎么做呢?

另外,作为一个次要问题,如果我想让char作为制表符,我应该传递这个函数'\t‘还是什么?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11363083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档