将字符串中的特定字符转换为大写
Conversion of a specific character in a string to Upper Case
如何将字符串中的特定字母(即 'ahdhkhkahfkahafafkh'
中的所有 a
转换为大写?
我似乎只能找到将第一个单词大写或 upper/lower 将整个字符串大写的方法。
您可以将 str.translate
与 string.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'
如何将字符串中的特定字母(即 'ahdhkhkahfkahafafkh'
中的所有 a
转换为大写?
我似乎只能找到将第一个单词大写或 upper/lower 将整个字符串大写的方法。
您可以将 str.translate
与 string.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'