2015-06-19 2 views
2

У меня есть строка, как:заменить несколько вхождений какого-либо специального символа один в питона

string = "happy.....!!!" 

И я хочу, выход, как:

new_string = "happy.!" 

Я знаю, как заменить несколько возникновение какой-либо специальный персонаж. Это может быть сделано следующим образом:

line = re.sub('\.+', '.', line) 

Но я хочу, чтобы заменить его на все специальные символы, такие как»,/\ и т.д. Один из способов, чтобы написать ее для каждого специального символа Но хочу знать.. если есть простой способ, чтобы написать ее для всех специальных символов в одной строке

ответ

5

Вы можете использовать \W, чтобы соответствовать любому символу, кроме буквы:.

line = re.sub(r'\W+', '.', line) 

Если вы хотите заменить тот же специальный символ, а затем использовать:

line = re.sub(r'(\W)(?=\1)', '', line) 
+0

НЕТ, он заменит все специальный символ на «». Я хочу заменить множественное вхождение только этим специальным символом. – Shweta

+0

Только что отредактировал мой ответ, как прежде, отредактировал вопрос, было неясно, каков ваш ожидаемый результат. – anubhava

+1

удивительный. это работает. пожалуйста, объясните это немного. – Shweta

Смежные вопросы