我如何搜索字符串并获得索引,例如可以使用生成新的字符串/子字符串
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
}