如何从特定位置查找string中的索引
我知道如何find如下的字符索引:
func indexOfCharacter(myString:String, char: Character) -> Int { if let idx = find(myString, char) { return distance(self.startIndex, idx) }else{ return -1; } }
如何在特定位置后查找索引?
例如:myString =“abcdabcd”
我想得到第二个'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 } }