Swift:在String中搜索String并获取Index



我如何搜索字符串并获得索引,例如可以使用生成新的字符串/子字符串

dfnaseurewruTESTAB=41201243

这样在这个例子中,我就可以搜索TESTAB并生成一个新的String:

TESTAB=41201243

在纯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"
}

您可以使用Regular Expression来查找您的TESTAB=number字符串

正则表达式可以是TESTAB=[d]+

其中TESTAB是您的字符串,=用于查找后面的数字,[d]+has one or more number

例如,在Swift 4.1

let regex = "TESTAB=[\d]+"
let string = "dfnaseurewruTESTAB=41201243"
if let range = string.range(of: regex, options: .regularExpression, range: nil, locale: nil) {
print(string[range]) // result is TESTAB=41201243
}

最新更新