Использование String.range в Swift 3.0
let us = "http://example.com"
let range = us.rangeOfString("(?<=://)[^.]+(?=.com)", options:.RegularExpressionSearch)
if range != nil {
let found = us.substringWithRange(range!)
print("found: \(found)") // found: example
}
Этот код извлекает substring
между обратными косыми чертами и dot com в Swift 2. Я искал Интернет, и я обнаружил, что rangeOfString
изменено на range()
.
Но все же я не мог заставить код работать в Swift 3.0. Не могли бы вы мне помочь?
edit: Я использую swift 3 07-25 build.
Ответы
Ответ 1
В swift 3.0 rangeOfString
синтаксис изменился следующим образом.
let us = "http://example.com"
let range = us.range(of:"(?<=://)[^.]+(?=.com)", options:.regularExpression)
if range != nil {
let found = us.substring(with: range!)
print("found: \(found)") // found: example
}
Ответ 2
В последнем быстром 3.0 с использованием Xcode 8 Beta 6 (последние обновления для SDK):
let us = "http://example.com"
let range = us.range(of: "(?<=://)[^.]+(?=.com)", options: .regularExpression)
if range != nil {
let found = us.substring(with: range!)
print("found: \(found)") // found: example
}