Как преобразовать определенные последовательности символов в строке в верхний регистр, используя Python? - PullRequest
2 голосов
/ 27 мая 2009

Я стремлюсь выполнить следующее и мне интересно, есть ли у кого-нибудь предложения о том, как лучше всего это сделать.

У меня есть строка, скажите «это-есть, -toronto.-и-это-есть, -boston», и я хотел бы преобразовать все вхождения ', - [az]' в ', - [AZ ]». В этом случае результатом преобразования будет «это-есть-Торонто-и-это-это-Бостон».

Я пытался заставить что-то работать с re.sub (), но пока не выяснил, как

testString = 'this-is,-toronto.-and-this-is,-boston'
re.sub(r',_([a-z])', r',_??', testString)

Спасибо!

1 Ответ

11 голосов
/ 27 мая 2009

re.sub может принимать функцию, которая возвращает строку замены:

import re

s = 'this-is,-toronto.-and-this-is,-boston'
t = re.sub(',-[a-z]', lambda x: x.group(0).upper(), s)
print t

печать

this-is,-Toronto.-and-this-is,-Boston
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...