Если вы отфильтровали правильные строки и структура строки такая же, вы можете использовать функции lastIndex(of:)
и firstIndex(of:)
, чтобы найти внутреннюю пару <>, а затем извлечь подстроку из этой
if let first = str.lastIndex(of:"<"), let last = str.firstIndex(of:">") {
let name = String(str[str.index(after: first)..<last])
}
Пример
let strings = ["<div class=\"name\" title=\""User" <John Appleseed>\">", "<div class=\"name\" title=\""User" <Bill Gates>\">"]
for str in strings {
if let first = str.lastIndex(of:"<"), let last = str.firstIndex(of:">") {
let name = String(str[str.index(after: first)..<last])
print(name)
}
}
производит
John Appleseed
Билл Гейтс