将字符串中的特定字符转换为大写

Conversion of a specific character in a string to Upper Case

如何将字符串中的特定字母(即 'ahdhkhkahfkahafafkh' 中的所有 a 转换为大写?

我似乎只能找到将第一个单词大写或 upper/lower 将整个字符串大写的方法。

您可以将 str.translatestring.maketrans 一起使用:

>>> import string
>>> table = string.maketrans('a', 'A')
>>> 'abcdefgahajkl'.translate(table)
'AbcdefgAhAjkl'

如果您想将 'a''b' 替换为大写版本,这真的很棒...那么您只需更改翻译 table:

table = string.maketrans('ab', 'AB')

或者,如果您真的只是进行 1 对 1 交换,您可以使用 str.replace

>>> 'abcdefgahajkl'.replace('a', 'A')
'AbcdefgAhAjkl'

当您只有一个替换时,此方法会大放异彩。它替换子字符串而不是字符,因此 'Bat'.replace('Ba', 'Cas') -> 'Cast'.

'banana'.replace('a', "A")

来自文档:https://docs.python.org/2/library/string.html#string.replace

>>> a = 'ahdhkhkahfkahafafkh'
>>> "".join(i.upper() if i == 'a' else i for i in a)
'AhdhkhkAhfkAhAfAfkh'

或者

>>> a.replace('a',"A")
'AhdhkhkAhfkAhAfAfkh'