Следующий метод расширения отображает строковые компоненты, используя Array.map
в [NSAttributedString]
extension NSAttributedString {
func components(separatedBy string: String) -> [NSAttributedString] {
var pos = 0
return self.string.components(separatedBy: string).map {
let range = NSRange(location: pos, length: $0.count)
pos += range.length + string.count
return self.attributedSubstring(from: range)
}
}
}
Использование
let array = NSAttributedString(string: "I*** code*** with*** swift").components(separatedBy: "***")