IOS NSCharacterSet for emoji and latin characters
我正在尝试将文本用户输入限制为拉丁/英语字符和表情符号。
是否可以创建一个包含所有这些字符的 NSCharacterSet?
我尝试在我的输入视图上使用键盘类型 ASCIICapable,但是我没有得到表情符号输入。
- 对于将来遇到此问题的任何人,我需要它并制作了一个名为 NSCharacterSet EmojiCharacterSet 的开源项目
没有任何内置功能可以创建这样一个特定的字符集。你必须自己按字符范围来做。
表情符号字符基本上在 \\\?0 – \\\?F 范围内。我想还有一些人散落在各处。
使用 NSMutableCharacterSet 来构建你需要的东西。
1
2 3 4 |
NSMutableCharacterSet *aCharacterSet = [[NSMutableCharacterSet alloc] init];
[aCharacterSet addCharactersInRange:NSMakeRange(0x1F300, 0x1F700 – 0x1F300)]; // Add most of the Emoji characters [aCharacterSet addCharactersInRange:NSMakeRange(‘A’, ‘Z’-‘A’+1)]; // Add uppercase [aCharacterSet addCharactersInRange:NSMakeRange(‘a’, ‘z’-‘a’+1)]; // Add lowercase |
- 谢谢rmaddy,这就是我需要的。
Swift 相当于 rmaddy 在 CharacterSet:
中添加范围的答案
1
2 3 4 |
var aCharacterSet = CharacterSet()
aCharacterSet.insert(charactersIn:”\\u{1F300}”..<“\\u{1F700}”) // Add most of the Emoji characters aCharacterSet.insert(charactersIn:”A”…”Z”) // Add uppercase aCharacterSet.insert(charactersIn:”a”…”z”) // Add lowercase |
此外,您还可以在 http://www.unicode.org/charts/ 的 Emoji 下找到 emoji 的 Unicode 范围的完整列表
来源:https://www.codenong.com/36559493/