我编写了一个python程序来获取一个字符串,并发现某些字符串中有图像,例如:或“Siempreendíadela Madrelapasábamosasítodosen familia dandomuchocariñoanuestra preciosa madre pero hoy la vamos a pasarsolosextrañandomamaraperosiemprellevándolaennuestroscorazones❤“。
我想从字符串中删除这些图像,只获取数字和字母。
请注意:这些字符串不仅用英文书写,还可以用各种语言书写(例如:阿拉伯语或日语)。
我的节目:
for post_item in group_member_posts_list:
if post_item['post_content']:
post_item_content_str = post_item['post_content']
print("post_item_content_str:" + post_item_content_str)
post_item_content_str = filter(str.isalnum,post_item_content_str)
print("after filter post_item_content_str:" + post_item_content_str )
b = TextBlob(post_item_content_str)
post_item_content_type = b.detect_language()
我尝试使用过滤功能,但它会出错。 isalnum函数只能找到英文字母。
你能告诉我如何解决这个问题吗?
答案 0 :(得分:1)
通过图片,我相信你的意思是emojis(),你可以简单地使用re.sub
从你的字符串中替换它们。
import re
emoji_finder = re.compile('[\U0001F300-\U0001F64F\U0001F680-\U0001F6FF\u2600-\u26FF\u2700-\u27BF]+')
tcase_1 = "Siempre en día de la Madre la pasábamos así todos en familia dando mucho cariño a nuestra preciosa madre pero hoy la vamos a pasar solos extrañando a mamá pero siempre llevándola en nuestros corazones❤"
tcase_2 = "between"
print(re.sub(emoji_finder, "", tcase_1))
print(re.sub(emoji_finder, "", tcase_2))
输出:
Siempre en día de la Madre la pasábamos así
todos en familia dando mucho cariño a nuestra
preciosa madre pero hoy la vamos a pasar
solos extrañando a mamá pero siempre
llevándola en nuestros corazones
# and
between
在此测试:https://repl.it/IIWG
改编自post并修改为支持python 3。