2017-01-10 41 views
1

我收到NSAttributedString,其中包含NSTextAttachment。我想刪除該附件,它看起來像在字符串中表示爲"\u{ef}"。打印這種字符串的unicode標量,似乎"\u{ef}"的unicode標量是U\0000fffc從字符串中刪除U 0000fffc unicode標量

我試着這樣做:

noAttachmentsText = text.replacingOccurrences(of: "\u{ef}", with: "") 

沒有成功,所以我比較unicode的標量嘗試:

var scalars = Array(text.unicodeScalars) 
for scalar in scalars { 
    // compare `scalar` to `U\0000fffc` 
} 

,但我不能無論是在比較成功。 我怎麼能這樣做?

+3

的可能的複製[?我如何從斯威夫特字符串中刪除 「\ U0000fffc」(http://stackoverflow.com/questions/29973684/how-do-i-remove-u0000fffc-from-a-string-in-swift) –

+0

@MikeAlter不適用於我 – AppsDev

+0

@AppsDev你有答案嗎? –

回答

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) 

輸出:

「第一部分,我最後部分」

第一部分最後部分

+0

謝謝。那是'快3'嗎?範圍初始化似乎不起作用 – AppsDev

+0

你是對的@AppsDev它不是快3 –

0

ü可以使用類似的代碼SWIFT 3只是用replacingOccurrences選項exapmle替換的unicode:

func stringTocleanup(str: String) -> String { 
     var result = str 
     result = result.replacingOccurrences(of: "\"", with: "\"") 
      .replacingOccurrences(of: "\u{10}", with: "") 
     return result 
}