如何从特定位置查找字符串中字符的索引 [英] how to find the index of a character in a string from specific position

查看:718
本文介绍了如何从特定位置查找字符串中字符的索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道如何找到如下字符的索引:

I know how to find an index of a character like the following:

func indexOfCharacter(myString:String, char: Character) -> Int {
        if let idx = find(myString, char) {
            return distance(self.startIndex, idx)
        }else{
            return -1;
        }

    }

我如何查找索引在特定职位之后?

How can I look for an index after a specific position ?

例如:
myString =abcdabcd

example: myString="abcdabcd"

我想要得到第二个'd'= 7的索引

I would like to get the index of the second 'd' = 7

indexOfCharacter(myString,character : 'd',fromIndex: 4);

任何帮助?

推荐答案

尝试这样:

func indexOfCharacter(myString:String, char: Character,fromIndex: Int) -> Int {

    let sub = myString.substringFromIndex(advance(myString.startIndex, fromIndex))
    if let idx = find(sub, char) {
        return distance(sub.startIndex, idx) + fromIndex
    }else{
        return -1
    }

}

let myString = "abcdabcd"

indexOfCharacter(myString, "d", 4)   // 7

更新: Xcode 7.3•Swift 2.2

func indexOfCharacter(myString:String, char: Character, fromIndex: Int) -> Int {

    let sub = myString.substringFromIndex(myString.startIndex.advancedBy(fromIndex))
    if let idx = sub.characters.indexOf(char){
        return sub.startIndex.distanceTo(idx) + fromIndex
    }else{
        return -1
    }

}

这篇关于如何从特定位置查找字符串中字符的索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆