下面是一个输入示例:
['ARTA Travel Group', 'Arta | آرتا', 'ARTAS™ Practice Development', 'ArtBinder', 'Arte Arac Takip App', 'アート建築', 'Arte Brasil Bar & Grill', 'ArtPod Stage', 'Artpollo扫码', 'Artpollo阿波罗-价值最优的艺术品投资电商', '아트홀']和上面的列表一样,我想删除中文、韩文、日文、阿里巴语的元素。
以下是预期产出(只有英文本):
['ARTA Travel Group', 'ARTAS™ Practice Development', 'ArtBinder', 'Arte Arac Takip App', 'Arte Brasil Bar & Grill', 'ArtPod Stage']发布于 2020-05-11 03:03:33
您可以使用regex并使用unicode范围进行搜索。字母符号属于2100—214F,范围从2100—214F;您可以将它们全部包括在内,也可以只选择特定的。
import re
s = ['ARTA Travel Group', 'Arta | آرتا', 'ARTAS™ Practice Development', 'ArtBinder', 'Arte Arac Takip App', 'アート建築', 'Arte Brasil Bar & Grill', 'ArtPod Stage', 'Artpollo扫码', 'Artpollo阿波罗-价值最优的艺术品投资电商', '아트홀']
result = [i for i in s if not re.findall("[^\u0000-\u05C0\u2100-\u214F]+",i)]
print (result)
['ARTA Travel Group', 'ARTAS™ Practice Development', 'ArtBinder', 'Arte Arac Takip App', 'Arte Brasil Bar & Grill', 'ArtPod Stage']发布于 2020-05-11 02:42:09
发布于 2022-03-23 05:23:14
您可以使用python3.7中引入的函数isascii删除列表中的非英语字符串。因此,使用此函数的最低要求是您必须拥有python >= python3.7。
def isEnglish(s):
return s.isascii()
print(isEnglish("Test"))
print(isEnglish("['ARTA Travel Group', 'Arta | آرتا', 'ARTAS™ Practice Development', 'ArtBinder', 'Arte Arac Takip App', 'アート建築', 'Arte Brasil Bar & Grill', 'ArtPod Stage', 'Artpollo扫码', 'Artpollo阿波罗-价值最优的艺术品投资电商', '아트홀']"))输出:
['ARTA Travel Group', 'ARTAS™ Practice Development', 'ArtBinder', 'Arte Arac Takip App', 'Arte Brasil Bar & Grill', 'ArtPod Stage']https://stackoverflow.com/questions/61721443
复制相似问题