删除所有非字符,但python中的数字,拉丁字母和西里尔字母除外

时间:2018-05-28 09:55:35

标签: python

除了"ū","ú","ǔ","ù","ǖ","ǘ","ǚ","ǜ","ü","û"之外,我想删除所有标点,特殊字母,例如▬▬▬▬▬▬▬▬◄numbers, latin letters and cyrillic和任何其他字符字符。
输入字符串编码为utf-8 怎么实现这个?

1 个答案:

答案 0 :(得分:1)

from string import ascii_letters, digits, whitespace

cyrillic_letters = u"абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"


def strip(text):
    allowed_chars = cyrillic_letters + ascii_letters + digits + whitespace
    print(allowed_chars)
    return "".join([c for c in text if c in allowed_chars])

编辑:不熟悉西里尔字母,但这是我设法删除字符的方式,除非你指定了西里尔字母,拉丁字母,非数字和(我添加了这个)空格从一个字符串。