gpt4 book ai didi

xcode - 如何用 Swift 字符串中的描述替换表情符号字符

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:02 24 4
gpt4 key购买 nike

我正在寻找一种方法来用 Swift 字符串中的描述替换表情符号字符。

例子:

Input "This is my string 😄"

我想替换 😄 得到:

Output "This is my string {SMILING FACE WITH OPEN MOUTH AND SMILING EYES}"

到目前为止,我使用的是从 this answer by 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}

我怎样才能做到这一点?

最佳答案

首先不要使用 Character,而是使用 String 作为输入:

let cfstr = NSMutableString(string: "This 😄 is my string 😄") as CFMutableString

最终会输出

This {SMILING FACE WITH OPEN MOUTH AND SMILING EYES} is my string {SMILING 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 😄")

关于xcode - 如何用 Swift 字符串中的描述替换表情符号字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37766611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com