【发布时间】:2015-04-26 23:10:46
【问题描述】:
我想查找字符串中最后一次出现的字符的索引。例如,如果我的字符串是"google.com/program/test",并且我想找到字母/,我希望我的函数返回18,因为这是该字符串中/ 的最后一次出现。我试图关注Finding index of character in Swift String,并且还尝试实现一种方法来遍历字符串并简单地找到具有我想要的字符的字符串的最后一个索引,但advance() 函数似乎抱怨获取整数。
var strCount = 0
var lastSlashIndex = 0
for i in urlAsString {
if i == "/"{
if lastSlashIndex < strCount{
lastSlashIndex = strCount
}
}
strCount++
}
var endOfString = strCount - lastSlash
//Cannot seem to use the advance function to get the remaining substring
var fileName = urlAsString.substringFromIndex(advance(lastSlashIndex, endOfString))
似乎无法弄清楚,任何帮助将不胜感激。
编辑:
这个问题不仅仅针对“/”字符。例如,如果字符串是"abbccd",而我正在寻找字母'c',那么我想返回索引4,因为这是'c' 出现的最后一个索引。
【问题讨论】:
-
鉴于这个具体的例子,你的问题有点 XY 问题。
-
对不起,我不是故意的。我想简单地找到特定字符的最后一次出现。它可以是任何字符。例如,如果字符串是“abbccd”并且我正在寻找字母“c”,那么我想返回索引 4,因为这是 c 出现的最后一个索引。@nhgrif
-
这真的是你想要的吗?还是您实际上是在尝试从看起来像文件路径的字符串中查找文件名?有一个 非常 简单的单线来执行此操作...
-
@nhgrif 好吧,我的问题是这个。我有一个看起来像这样的链接:
https://www.dropbox.com/s/s73824fsda/FileName,我只想解析出链接的FileName部分,以便我可以在我的程序中使用它。如果单线适用于此,我很乐意看到它!