iOS 檢測(cè)String是否含有emoji

在網(wǎng)上看了很多方案,都是判斷unicode值的范圍,但是個(gè)人使用下來總有漏掉的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
            }
        }

查閱了官方文檔后,使用如下方法不會(huì)有漏掉emoji的情況:

func isHaveEmjoy() -> Bool {
        for scalar in unicodeScalars {
            let result = scalar.properties.isEmoji
            if result && (scalar.value < 48 || scalar.value > 57) {
                // 48 - 56 是數(shù)字 1 - 9
                // 57 是數(shù)字 0
                return true
            }
            continue
        }
        return false
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容