Cue*_*Cue 4 string xcode emoji swift
我正在寻找一种方法来用Swift字符串中的描述替换表情符号字符.
例:
输入
"This is my string "
我想替换以获取:
产量
"This is my string {SMILING FACE WITH OPEN MOUTH AND SMILING EYES}"
到目前为止,我正在使用MartinR对此答案的原始代码修改的代码,但只有在我处理单个字符时它才有效.
let myCharacter : Character = ""
let cfstr = NSMutableString(string: String(myCharacter)) as CFMutableString
var range = CFRangeMake(0, CFStringGetLength(cfstr))
CFStringTransform(cfstr, &range, kCFStringTransformToUnicodeName, Bool(0))
var newStr = "\(cfstr)"
// removing "\N" from the result: \N{SMILING FACE WITH OPEN MOUTH AND SMILING EYES}
newStr = newStr.stringByReplacingOccurrencesOfString("\\N", withString:"")
print("\(newStr)") // {SMILING FACE WITH OPEN MOUTH AND SMILING EYES}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Character首先不要使用a ,而是使用String输入:
let cfstr = NSMutableString(string: "This is my string ") as CFMutableString
Run Code Online (Sandbox Code Playgroud)
这将最终输出
这个{露出嘴巴和微笑的笑脸}是我的字符串{SMING FACE WITH OPEN MOUTH AND SMILING EYES}
放在一起:
func transformUnicode(input : String) -> String {
let cfstr = NSMutableString(string: input) as CFMutableString
var range = CFRangeMake(0, CFStringGetLength(cfstr))
CFStringTransform(cfstr, &range, kCFStringTransformToUnicodeName, Bool(0))
let newStr = "\(cfstr)"
return newStr.stringByReplacingOccurrencesOfString("\\N", withString:"")
}
transformUnicode("This is my string ")
Run Code Online (Sandbox Code Playgroud)