Подтвердить что ты не робот

Python: разделите все, кроме пробелов и буквенно-цифровых

У меня есть большая строка с скобками и запятыми и т.д. Я хочу снять все эти символы, но сохранить интервал. Как я могу это сделать. На данный момент я использую

strippedList = re.sub(r'\W+', '', origList)
4b9b3361

Ответ 1

re.sub(r'([^\s\w]|_)+', '', origList)

Ответ 2

Версии на основе регулярных выражений могут быть быстрее (особенно если вы переключитесь на использование скомпилированного выражения), но мне это необходимо для ясности:

"".join([c for c in origList if c in string.letters or c in string.whitespace])

Это немного странно с вызовом join(), но я думаю, что это довольно идиоматический Python для преобразования списка символов в строку.

Ответ 3

Быстрая реализация:

import re

pattern = re.compile('([^\s\w]|_)+')
strippedList = pattern.sub('', value)