Замена строки Python с использованием только одной строки кода (замените «H» и «h» на «*») - PullRequest
0 голосов
/ 03 марта 2019

Python: В строке "Привет, как дела?"Как я могу заменить оба «H» и «H» на «*»?Я хотел бы сделать это только в одной строке кода ...

Ответы [ 3 ]

0 голосов
/ 03 марта 2019

С регулярными выражениями:

import re
s = "Hello, how are you?"
s_replaced = re.sub('(H|h)', '*', s)

Вы можете проверить объяснение регулярных выражений здесь .

0 голосов
/ 03 марта 2019

Есть несколько способов сделать это:

Вы можете связать .replace() несколько раз, поскольку он работает и возвращает строку:

>>> print('Hello, how are you?'.replace('H', '*').replace('h', '*'))
*ello, *ow are you?

Или используйте Regex:

>>> import re
>>> re.sub('[Hh]', '*', 'Hello, how are you?')
'*ello, *ow are you?'
0 голосов
/ 03 марта 2019

Вы можете использовать re, например:

import re
old_text="Hello, how are you?"
new_text = re.sub(r'h', '2', old_text, flags=re.IGNORECASE)
print (new_text)
...