Я использую метод .replace, чтобы заменить строчные h на прописные h, но я не хочу заменять первое и последнее вхождения h .. это то, что у меня так далеко:
string = input()
print(string.replace('h', 'H', ?))
Я не уверен, что поставить в качестве последнего аргумента в функции .replace. Заранее спасибо.
4 ответа
Попробуй это:
string = input()
substring = string[string.find('h') + 1:]
print(string[:string.find('h') + 1] + substring.replace('h', 'H', substring.count('h') - 1))
Вы можете найти первую и последнюю позицию h
и заменить в соединении строки
string = input()
lindex = string.find('h')
rindex = string.rfind('h')
buf_string = string[lindex + 1:rindex]
buf_string.replace('h', 'H')
string = string[:lindex + 1] + buf_string + string[rindex:]
Попробуй это:
st=input()
i=st.index('h')
j=len(st)-1-st[::-1].index('h')
st=st[:i+1]+st[i+1:j].replace("h","H")+st[j:]
print (st)
Вы можете использовать pattern.sub
с обратным вызовом, следующее заменяет все h
на H
, когда они находятся между 2 h
mystring = 'I say hello hello hello hello hello'
pat = re.compile(r'(?<=h)(.+)(?=h)')
res = pat.sub(lambda m: m.group(1).replace(r'h', 'H') , mystring)
print res
Вывод:
I say hello Hello Hello Hello hello
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.