在python中将特定字母转换为大写或小写

时间:2015-04-08 17:41:57

标签: python string helpers

因此,要返回转换为小写或大写的字符串的副本,显然使用lower()upper()

但是如何制作一个字符串的副本,其中特定的字母转换为大写或小写。 例如,我如何将'test'转换为'TesT'

老实说这让我感到困惑,所以非常感谢帮助

得到它,感谢Cyber​​和Matt的帮助!

9 个答案:

答案 0 :(得分:4)

如果您只想替换特定字母:

>>> s = "test"
>>> s.replace("t", "T")
'TesT'

答案 1 :(得分:1)

有一个明显的解决方案,切割字符串并将所需部分放在上面:

test = 'test'
test = test[0].upper() + test[1:-1] + test[-1].upper()

答案 2 :(得分:1)

您可以使用str.translate()方法:

import string

# Letters that should be upper-cased
letters = "tzqryp"
table = string.maketrans(letters, letters.upper())


word = "test"
print word.translate(table)

答案 3 :(得分:0)

import re
input = 'test'
change_to_upper = 't'
input = re.sub(change_to_upper, change_to_upper.upper(), input)

这使用正则表达式引擎来查找匹配change_to_upper的任何内容,并将其替换为大写版本。

答案 4 :(得分:0)

作为用其他东西替换所有字母的一般方法

>>> swaps = {'t':'T', 'd':'D'}
>>> ''.join(swaps.get(i,i) for i in 'dictionary')
'DicTionary'

答案 5 :(得分:0)

我会使用translate()。

对于python2:

>>> from string import maketrans
>>> "test".translate(maketrans("bfty", "BFTY"))
'TesT'

对于python3:

>>> "test".translate(str.maketrans("bfty", "BFTY"))
'TesT'

答案 6 :(得分:0)

Python3可以做到:

def myfunc(str):
  if len(str)>3:
    return str[:3].capitalize() + str[3:].capitalize()
  else:
    return 'Word is too short!!'

答案 7 :(得分:0)

最简单的解决方案:

>>> letters = "abcdefghijklmnop"
>>> trantab = str.maketrans(letters, letters.upper())
>>> print("test string".translate(trantab))
tEst strING

答案 8 :(得分:0)

简单

chars_to_lower = "MTW"
"".join([char.lower() if char in chars_to_lower else char for char in item]