相关疑难解决方法(0)

如何反转包含复杂表情符号的字符串?

输入:

Hello world????
Run Code Online (Sandbox Code Playgroud)

期望输出:

????dlrow olleH
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,但没有一个给我正确的答案。

这惨败:

这有点有效,但它???分为 4 个不同的表情符号:

我也尝试了这个问题中的所有答案,但没有一个有效。

有没有办法获得所需的输出?

javascript string emoji

197
推荐指数
7
解决办法
1万
查看次数

检查字符串中是否包含表情符号

我用这个获得字符串的文本大小

textSize = [[tempDict valueForKeyPath:@"caption.text"] sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:CGSizeMake(280, CGFLOAT_MAX) lineBreakMode: NSLineBreakByWordWrapping];
Run Code Online (Sandbox Code Playgroud)

我唯一的问题是,如果字符串只包含表情符号,我的应用程序崩溃.有没有一种简单的方法来检查表情符号,或者我是否必须创建一个包含所有可能的表情符号的数组,然后使用它来检查它们?

错误:

-[NSNull sizeWithFont:constrainedToSize:lineBreakMode:]: unrecognized selector sent to instance 0x3aa88a60


if ([tempDict valueForKeyPath:@"caption.text"]){
            NSLog(@"%@", [tempDict valueForKeyPath:@"caption"]);
            //Measure the message label box height
            textSize = [[tempDict valueForKeyPath:@"caption.text"] sizeWithFont:[UIFont systemFontOfSize:12] constrainedToSize:CGSizeMake(280, CGFLOAT_MAX) lineBreakMode: NSLineBreakByWordWrapping];
            int height = 320 + 20 + textSize.height;
            [cellHeight addObject:[NSNumber numberWithInt:height]];
}
Run Code Online (Sandbox Code Playgroud)

objective-c emoticons sizewithfont ios emoji

11
推荐指数
3
解决办法
1万
查看次数

如何计算文本或字符串中的表情符号

如何计算字符串或文本行中的表情符号并显示输出,文本行或字符串中有多少个表情符号?

例如"Hello there"

输出应该是: 7

javascript

6
推荐指数
1
解决办法
3031
查看次数

我怎样才能获得iOS8.3中的一系列表情符号

在iOS 8.3中,Apple更新了一堆表情符号,我想知道是否可以更快地将所有表情符号放入数组中.

如:

let emojiArrays = ["","",...] or plist or something else.
Run Code Online (Sandbox Code Playgroud)

ios emoji swift

4
推荐指数
2
解决办法
1911
查看次数

如何用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)

我怎样才能做到这一点?

string xcode emoji swift

4
推荐指数
1
解决办法
3427
查看次数

Swift - 用空格替换字符串中的表情符号

我有一个方法来检测字符串中的网址,并返回网址和可以找到它们的范围.一切都很完美,直到字符串上有表情符号.例如:

"I'm gonna do this callenge as soon as I can swing again \n http://youtu.be/SW_d3fGz1hk"
Run Code Online (Sandbox Code Playgroud)

由于表情符号,从文本中提取的URL是http://youtu.be/SW_d3fGz1而不是http://youtu.be/SW_d3fGz1hk.我认为最简单的解决方案是用空格字符替换字符串上的表情符号(因为我需要范围对于某些文本样式的东西是正确的).问题是,使用Swift非常难以实现(很可能我的Swift String API缺乏能力).

我一直试图这样做,但似乎我无法从unicode点数组创建一个字符串:

var emojilessStringWithSubstitution: String {
    let emojiRanges = [0x1F601...0x1F64F, 0x2702...0x27B0]
    let emojiSet = Set(emojiRanges.flatten())
    let codePoints: [UnicodeScalar] = self.unicodeScalars.map {
        if emojiSet.contains(Int($0.value)) {
            return UnicodeScalar(32)
        }
        return $0
    }
    return String(codePoints)
}
Run Code Online (Sandbox Code Playgroud)

我是否以错误的方式处理这个问题?取代表情符号是最好的解决方案吗?如果是这样,我该怎么办?

string unicode emoji swift

3
推荐指数
4
解决办法
2857
查看次数

如何在Swift中的数组中获取所有可用的表情符号?

我希望能够在Swift中获得所有可用emojis的数组.我所说的是所有当前可以访问设备的.就像Apple添加了一些新的表情符号一样,我希望不必更改任何代码,而新的表情符号只是添加到数组中与其他所有表情符号一起添加.

如果无法获得更新的表情符号,那么如何将所有当前表情符号放入一个数组(或者可能是一个.plist文件,然后我可以加载到一个数组中),这样我就可以在代码中访问它们了?

arrays ios swift

1
推荐指数
1
解决办法
899
查看次数