我正在做一个涉及到推特中的表情符号的NLP项目。
以下是tweets的一个例子:"sometimes i wish i wa an octopus so i could slap 8 people at once🐙"
我的问题是once🐙
被认为是一个单词,所以我想将这个独特的单词分成两个,这样我的tweet看起来像这样:"sometimes i wish i wa an octopus so i could slap 8 people at once 🐙"
注意,我已经编译了包含每个emojis的regexp!
我正在寻找一种有效的方式来做到这一点,因为我有成千上万的推特,但我不知道从哪里开始。
谢谢你
最佳答案
你就不能这样做吗:
>>> import re
>>> s = "sometimes i wish i wa an octopus so i could slap 8 people at once🐙"
>>> re.findall("(\w+|[^\w ]+)",s)
['sometimes', 'i', 'wish', 'i', 'wa', 'an', 'octopus', 'so', 'i', 'could', 'slap', '8', 'people', 'at', 'once', '🐙']
如果您再次需要它们作为一个空格分隔的字符串,只需将它们连接起来:
>>> " ".join(re.findall("(\w+|[^\w ]+)",s))
'sometimes i wish i wa an octopus so i could slap 8 people at once 🐙'
编辑:已修复。
关于python - 包含Unicode字符的拆分词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35691265/