如何搜索字符串并获取索引,例如,我可以生成一个新的字符串/子字符串:
dfnaseurewruTESTAB=41201243
因此在此示例中,我可以搜索TESTAB并生成一个新的String:
TESTAB=41201243
答案 0 :(得分:2)
您不能真正在纯Swift中做到这一点,它令人惊奇地缺乏搜索子字符串的能力。您必须在基金会在场的情况下进行操作;这样,您可以使用可可的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"
}
答案 1 :(得分:0)
您可以使用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
}