我正在尝试从Unicode文本中仅删除表情符号。我尝试了另一个Stack Overflow帖子中描述的各种方法,但这些方法都没有完全删除所有表情符号/笑脸符号。例如:
解决方案1:
def remove_emoji(self, string):
emoji_pattern = re.compile("["
u"\U0001F600-\U0001F64F" # emoticons
u"\U0001F300-\U0001F5FF" # symbols & pictographs
u"\U0001F680-\U0001F6FF" # transport & map symbols
u"\U0001F1E0-\U0001F1FF" # flags (iOS)
u"\U00002702-\U000027B0"
u"\U000024C2-\U0001F251"
"]+", flags=re.UNICODE)
return emoji_pattern.sub(r'', string)
在下面的例子中,Leaves:
Input: తెలంగాణ రియల్ ఎస్టేట్
Output: తెలంగాణ రియల్ ఎస్టేట్
另一种尝试,解决方案2:
def deEmojify(self, inputString):
returnString = ""
for character in inputString:
try:
character.encode("ascii")
returnString += character
except UnicodeEncodeError:
returnString += ''
return returnString
删除任何非英文字符的结果:
Input: Testరియల్ ఎస్టేట్ A.P&T.S.
Output: Test A.P&T.S.
它不仅删除了所有表情符号,还由于
character.encode("ascii")
删除了非英文字符;我的非英文输入无法编码为ASCII。是否有任何方法可以正确地从国际Unicode文本中移除表情符号?