2015-03-12 3 views
0

Как удалить пробелы в строке _ y _ _ o _, чтобы пробелы только вокруг букв были удалены, но не между символами «_»?Удалить определенные пробелы из строки Python

+0

Пожалуйста, покажите фактическую функцию. – thefourtheye

+1

Итак, где ваша попытка, и в чем именно проблема? – jonrsharpe

+0

Защиту палач (слово, буква): х = '' для буквы в слове: , если письмо в письмах: х + = письмо еще: х + = '_' возвращение х печати палач ('python', ['a', 'r', 'y', 'i', 'o']) –

ответ

0

Через re.sub.

>>> import re 
>>> re.sub(r'(?<=[A-Za-z])\s+|\s+(?=[A-Za-z])', '', '_ y _ _ o _') 
'_y_ _o_' 

(?<=[A-Za-z])\s+ соответствует только один или несколько символов пробела, если она протекала в письме. | или он будет соответствовать \s+(?=[A-Za-z]) соответствует одному или нескольким местам, за которыми следует письмо.

ИЛИ

>>> re.sub(r'\s*([A-Za-z]+)\s*', r'\1', '_ y _ _ o _') 
'_y_ _o_' 
0

Используйте регулярные выражения:

def hangman(word, letters): 
    replace = r'[%s]' % ''.join(letters) 
    return re.sub(replace, '_', word) 
Смежные вопросы