Вы можете попробовать просто удалить все несловарные символы:
string_value = "hello ' how ' are - you ? and/ nice to % meet # you"
output = re.sub(r'\s+', ' ', re.sub(r'[^\w\s]+', '', string_value))
print(string_value)
print(output)
Это напечатает:
hello ' how ' are - you ? and/ nice to % meet # you
hello how are you and nice to meet you
Первое решение, которое я использовал, нацелено на все несловесные символы (кроме пробелов), используя шаблон [^\w\s]+
. Но тогда есть вероятность, что скопления из двух или более пространств могут остаться позади. Итак, мы делаем второй вызов re.sub
, чтобы удалить лишние пробелы.