питон: очистка строки - PullRequest
2 голосов
/ 01 сентября 2010

У меня есть такая строка

somestring='in this/ string / i have many. interesting.occurrences of {different chars} that need     to .be removed  '

вот результат, который я хочу:

somestring='in this string i have many interesting occurrences of different chars that need to be removed'

Я начал вручную делать все виды .replace, но есть такмного разных комбинаций, которые, я думаю, должны быть проще.возможно есть библиотека, которая уже делает это?

кто-нибудь знает, как я могу очистить эту строку>?

Ответы [ 3 ]

15 голосов
/ 01 сентября 2010

Я бы использовал регулярное выражение для замены всех не алфавитно-цифровых символов на пробелы:

>>> import re
>>> somestring='in this/ string / i have many. interesting.occurrences of {different chars} that need     to .be removed  '
>>> rx = re.compile('\W+')
>>> res = rx.sub(' ', somestring).strip()
>>> res
'in this string i have many interesting occurrences of different chars that need to be removed'
2 голосов
/ 02 сентября 2010

У вас есть два шага: удалите пунктуацию, затем удалите лишние пробелы.

1) Используйте string.translate

import string
trans_table = string.maketrans( string.punctuation, " "*len(string.punctuation)
new_string = some_string.translate(trans_table)

После этого будет применена таблица перевода, которая отображает символы пунктуации наПробелы.

2) Удалите лишние пробелы

new_string = " ".join(new_string.split())
1 голос
/ 01 сентября 2010
re.sub('[\[\]/{}.,]+', '', somestring)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...