1
我試圖得到一個包含了一堆表情符號,包括標誌字符一個NSString的長度。現在我知道如何得到一個包含字符串表情符號的長度:NSString的長度與標誌表情符號
__block NSInteger length = 0;
[string enumerateSubstringsInRange:range
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
length++;
}];
然而,「NSStringEnumerationByComposedCharacterSequences」並不在這種情況下工作。普通表情符號由兩個字符組成。國旗emojis由兩個表情符號組成。因此,一個標誌表情符號,而沒有任何枚舉技術的長度爲4
如何獲得包含標誌表情符號一個NSString的適當長度(字符數)?
'NSInteger長度= [字符串長度]是什麼問題;'?您可以使用'substringWithRange'來獲得您感興趣的範圍。 –
@Alex請注意,如果您說標誌字符的長度爲4,即4個UTF-16代碼單元或8個字節。 – zaph
@i_am_jorf @「」。length返回4,這是你期望的一個角色? @「-s-」中的標誌字符的範圍是什麼?你會期望範圍是NSMakeRange(5,4)? – zaph