我收到一个NSAttributedString
,其中包含NSTextAttachment
。我想删除该附件,看起来它在字符串中表示为"\u{ef}"
。打印此类字符串的unicode标量,似乎"\u{ef}"
的unicode标量为U\0000fffc
。
我试着这样做:
noAttachmentsText = text.replacingOccurrences(of: "\u{ef}", with: "")
没有成功,所以我尝试比较unicode标量:
var scalars = Array(text.unicodeScalars)
for scalar in scalars {
// compare `scalar` to `U\0000fffc`
}
但是我无法在比较中取得成功。 我怎么能这样做?
答案 0 :(得分:0)
但是这段代码适用于我How do I remove "\U0000fffc" from a string in Swift?
let original = "First part \u{ef} Last part"
let originalRange = Range<String.Index>(start: original.startIndex, end: original.endIndex)
let target = original.stringByReplacingOccurrencesOfString("\u{ef}", withString: "", options: NSStringCompareOptions.LiteralSearch, range: originalRange)
print(target)
输出:
“第一部分 - 最后部分”
到
第一部分最后一部分
答案 1 :(得分:0)
U可以使用 swift 3 的类似代码,只需使用 replacementOccurrences 选项替换unicode:
func stringTocleanup(str: String) -> String {
var result = str
result = result.replacingOccurrences(of: "\"", with: "\"")
.replacingOccurrences(of: "\u{10}", with: "")
return result
}