因此,要返回转换为小写或大写的字符串的副本,显然使用lower()
或upper()
。
但是如何制作一个字符串的副本,其中特定的字母转换为大写或小写。
例如,我如何将'test'
转换为'TesT'
老实说这让我感到困惑,所以非常感谢帮助
得到它,感谢Cyber和Matt的帮助!
答案 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]