【发布时间】:2015-02-10 18:53:10
【问题描述】:
如何将字符串中的特定字母,即'ahdhkhkahfkahafafkh' 中的所有as 转换为大写?
我似乎只能找到将第一个单词或整个字符串大写/小写的方法。
【问题讨论】:
如何将字符串中的特定字母,即'ahdhkhkahfkahafafkh' 中的所有as 转换为大写?
我似乎只能找到将第一个单词或整个字符串大写/小写的方法。
【问题讨论】:
您可以将str.translate 与string.maketrans 一起使用:
>>> import string
>>> table = string.maketrans('a', 'A')
>>> 'abcdefgahajkl'.translate(table)
'AbcdefgAhAjkl'
如果你想用它们的大写版本替换'a' 和'b',这真的很棒......然后你只需更改翻译表:
table = string.maketrans('ab', 'AB')
或者,如果你真的只是在做一对一的交换,你可以使用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'
【讨论】: