如何将 NSAttributedString 拆分为 NSAttributedString 数组
How to split a NSAttributedString into an Array of NSAttributedString
我有一个 NSAttributedString 并且想在每个 “***“
处拆分它。所以实际上,我想在这个字符串出现的任何地方拆分一个 NSAttributedString。结果应该类似于 NSAttributedStrings 数组。
感谢您的帮助!
您可以将此扩展用于 NSAttributedString
private extension NSAttributedString {
func components(separatedBy separator: String) -> [NSAttributedString] {
var result = [NSAttributedString]()
let separatedStrings = string.components(separatedBy: separator)
var range = NSRange(location: 0, length: 0)
for string in separatedStrings {
range.length = string.count
let attributedString = attributedSubstring(from: range)
result.append(attributedString)
range.location += range.length + separator.count
}
return result
}
}
示例`
let atributedString: NSAttributedString = NSAttributedString(string: "A***B***C***D")
let resultArray = atributedString.components(separatedBy: "***")
for atString in resultArray {
print(atString)
}
我有一个 NSAttributedString 并且想在每个 “***“
处拆分它。所以实际上,我想在这个字符串出现的任何地方拆分一个 NSAttributedString。结果应该类似于 NSAttributedStrings 数组。
感谢您的帮助!
您可以将此扩展用于 NSAttributedString
private extension NSAttributedString {
func components(separatedBy separator: String) -> [NSAttributedString] {
var result = [NSAttributedString]()
let separatedStrings = string.components(separatedBy: separator)
var range = NSRange(location: 0, length: 0)
for string in separatedStrings {
range.length = string.count
let attributedString = attributedSubstring(from: range)
result.append(attributedString)
range.location += range.length + separator.count
}
return result
}
}
示例`
let atributedString: NSAttributedString = NSAttributedString(string: "A***B***C***D")
let resultArray = atributedString.components(separatedBy: "***")
for atString in resultArray {
print(atString)
}