Python:使用emojis作为分隔符拆分文本

时间:2016-04-11 15:51:16

标签: python unicode

我正在尝试将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;
}

2 个答案:

答案 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)