代码之家  ›  专栏  ›  技术社区  ›  yanachen

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

  •  -1
  • yanachen  · 技术社区  · 8 年前

    我想删除所有标点符号,特殊字母,如 "Å«","ú","ǔ","ù","ǖ","ǘ","ǚ","ǜ","ü","û" , ▬▬▬▬▬▬▬▬◄ 以及任何其他字符,除了 numbers, latin letters and cyrillic .
    输入字符串编码为 utf-8 如何实现这一点?

    1 回复  |  直到 8 年前
        1
  •  1
  •   BARJ    8 年前
    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])
    

    编辑: 不熟悉西里尔字母,但这是我如何设法去除字符,除了您指定的西里尔字母,拉丁字母,非数字和(我添加了这一个)从字符串空白。