Интеллектуальное решение - NSDataDetector
let string = "Please review the work schedule for personnel associated with this device\nhttps://test.abcdxyz.com/media?q=kp97k73a9omm"
let types: NSTextCheckingResult.CheckingType = [.link]
if let detector = try? NSDataDetector(types: types.rawValue),
let link = detector.firstMatch(in: string, range: NSRange(string.startIndex..., in: string)) {
print(link.url!)
}
Вам не нужно создавать Range
из совпадения для извлечения подстроки, есть удобное url
собственность.