如何使用Python将字符串中的特定字符序列转换为大写?

时间:2009-05-27 12:16:38

标签: python

我希望完成以下操作,并且想知道是否有人建议如何做到最好。

我有一个字符串,说'this-is,-toronto.-and-this-is,-boston',我想将所有出现的', - [az]'转换为', - [AZ ]”。在这种情况下,转换的结果将是'this-is,-Toronto.-and-this-are,-Boston'。

我一直在尝试使用re.sub(),但尚未弄清楚如何使用

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

谢谢!

1 个答案:

答案 0 :(得分:11)

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