找出“字符串中的字符”是否为表情符号?

我需要找出字符串中的字符是否是表情符号。


例如,我有这个角色:


let string = "?"

let character = Array(string)[0]

我需要确定该字符是否为表情符号。


小怪兽爱吃肉
浏览 711回答 3
3回答

千巷猫影

最简单,最干净,最快捷的方法是按照已知的emoji表情和dingbats范围检查字符串中每个字符的Unicode代码点,如下所示:extension String {    var containsEmoji: Bool {        for scalar in unicodeScalars {            switch scalar.value {            case 0x1F600...0x1F64F, // Emoticons                 0x1F300...0x1F5FF, // Misc Symbols and Pictographs                 0x1F680...0x1F6FF, // Transport and Map                 0x2600...0x26FF,   // Misc symbols                 0x2700...0x27BF,   // Dingbats                 0xFE00...0xFE0F,   // Variation Selectors                 0x1F900...0x1F9FF, // Supplemental Symbols and Pictographs                 0x1F1E6...0x1F1FF: // Flags                return true            default:                continue            }        }        return false    }}

潇湘沐

extension String {    func containsEmoji() -> Bool {        for scalar in unicodeScalars {            switch scalar.value {            case 0x3030, 0x00AE, 0x00A9,// Special Characters            0x1D000...0x1F77F,          // Emoticons            0x2100...0x27BF,            // Misc symbols and Dingbats            0xFE00...0xFE0F,            // Variation Selectors            0x1F900...0x1F9FF:          // Supplemental Symbols and Pictographs                return true            default:                continue            }        }        return false    }}这是我的解决方法,具有更新的范围。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS