美文网首页
iOS 检测String是否含有emoji

iOS 检测String是否含有emoji

作者: 番茄炒西红柿啊 | 来源:发表于2023-02-12 17:40 被阅读0次

    在网上看了很多方案,都是判断unicode值的范围,但是个人使用下来总有漏掉的emoji

    for scalar in unicodeScalars {
                switch scalar.value {
                  case 0x1F600...0x1F64F, // Emoticons
                  0x1F300...0x1F5FF, // Misc Symbols and Pictographs
                  0x1F680...0x1F6FF, // Transport and Map
                  0x1F1E6...0x1F1FF, // Regional country flags
                  0x2600...0x26FF, // Misc symbols
                  0x2700...0x27BF, // Dingbats
                  0xE0020...0xE007F, // Tags
                  0xFE00...0xFE0F, // Variation Selectors
                  0x1F900...0x1F9FF, // Supplemental Symbols and Pictographs
                  127000...127600, // Various asian characters
                  65024...65039, // Variation selector
                  9100...9300, // Misc items
                  8400...8447: // Combining Diacritical Marks for Symbols
                    return true
                  default:
                    continue
                }
            }
    

    查阅了官方文档后,使用如下方法不会有漏掉emoji的情况:

    func isHaveEmjoy() -> Bool {
            for scalar in unicodeScalars {
                let result = scalar.properties.isEmoji
                if result && (scalar.value < 48 || scalar.value > 57) {
                    // 48 - 56 是数字 1 - 9
                    // 57 是数字 0
                    return true
                }
                continue
            }
            return false
        }
    

    相关文章

      网友评论

          本文标题:iOS 检测String是否含有emoji

          本文链接:https://www.haomeiwen.com/subject/xvmdkdtx.html