我已将图像添加到文本字段,并希望再次将其删除.我试过以下两行无济于事?
string = string.stringByReplacingOccurrencesOfString("\\U0000fffc", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
string = string.stringByReplacingOccurrencesOfString("\U0000fffc", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil)
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助,非常感谢!
Swift中的Unicode转义序列与Objective-C中的转义序列不同,Unicode字符U+FFFC转义为\u{fffc}:
这是你的字符串:
var string = "Hello\n\n\u{fffc}"
println(string.dataUsingEncoding(NSUTF32BigEndianStringEncoding)!)
// <00000048 00000065 0000006c 0000006c 0000006f 0000000a 0000000a 0000fffc>
Run Code Online (Sandbox Code Playgroud)
现在删除所有U+FFFC字符:
string = string.stringByReplacingOccurrencesOfString("\u{fffc}", withString: "")
println(string.dataUsingEncoding(NSUTF32BigEndianStringEncoding)!)
// <00000048 00000065 0000006c 0000006c 0000006f 0000000a 0000000a>
Run Code Online (Sandbox Code Playgroud)
需要注意的是options:和range:是可选的参数,而不是在这种情况下需要.
Swift 3/4更新:
var string = "Hello\n\n\u{fffc}"
print(string.data(using: .utf32BigEndian)! as NSData)
// <00000048 00000065 0000006c 0000006c 0000006f 0000000a 0000000a 0000fffc>
Run Code Online (Sandbox Code Playgroud)
string = string.replacingOccurrences(of: "\u{fffc}", with: "")
print(string.data(using: .utf32BigEndian)! as NSData)
// <00000048 00000065 0000006c 0000006c 0000006f 0000000a 0000000a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1670 次 |
| 最近记录: |