我正在尝试将WhatsApp聊天文本拆分为单个单词,但我不知道如何使用表情符号的unicode作为附加分隔符。
根据http://unicode.org/emoji/charts/full-emoji-list.html,示例unicode将是U + 1F602。我尝试了以下方法,但它没有用。
+ (instancetype)imageEditorForDocument:(ImageDocument*)imageDocument
{
ImageEditorViewController* result = [[[self class] alloc] initWithDocument:imageDocument];
return result;
}
答案 0 :(得分:2)
非BMP Unicode字符的文字不是u"U+1F602"
,而是Python中的u"\U0001F602"
。
虽然(单凭)它还不足以修复正则表达式。将flags=re.UNICODE
传递给re.split()
。确保type(text)
为unicode
。
我正在尝试将WhatsApp聊天文本拆分为单个单词
您可以尝试words = re.findall(ur"\w+", text, flags=re.UNICODE)
。通常,如何将文本拆分成部分可能取决于上下文,例如,请参阅how nltk.tokenize.TweetTokenizer
is implemented。
答案 1 :(得分:1)
u"U+1F602"
不是unicode角色,尝试打印它,你的意思是unichr(0x1f602)