首页 > 解决方案 > Swift:在字符串中搜索字符串并获取索引

问题描述

我如何搜索一个字符串并获得一个索引,我可以在其中生成一个新的字符串/子字符串,例如:

dfnaseurewruTESTAB=41201243

所以在这个例子中我可以搜索 TESTAB 并生成一个新的字符串:

TESTAB=41201243

标签: iosswiftxcode

解决方案


你不能在纯 Swift 中真正做到这一点,它(令人惊讶地)缺乏搜索子字符串的能力。您必须在基金会在场的情况下进行操作;这样,您就可以使用 Cocoa 的range(of:). 结果会从 NSRange 转换回 Swift Range (包装在 Optional 中,以防子字符串根本不存在)。范围的下限是您要查找的索引——子字符串的开始。

let s = "dfnaseurewruTESTAB=41201243"
if let r = s.range(of: "TESTAB") {
    let s2 = s.suffix(from: r.lowerBound)
    print(s2) // "TESTAB=41201243"
}

推荐阅读