更改字串的大小寫
Python 的字串型別提供了許多作用於字串大寫的函式。這些包括 :
str.casefold
str.upper
str.lower
str.capitalize
str.title
str.swapcase
使用 unicode 字串(Python 3 中的預設值),這些操作不是 1:1 對映或可逆。這些操作中的大多數用於顯示目的,而不是標準化。
Python 3.x >= 3.3
str.casefold()
str.casefold
建立一個小寫字串,適用於不區分大小寫的比較。這比 str.lower
更具侵略性,並且可能修改已經是小寫的字串或導致字串長度增長,並且不用於顯示目的。
"XßΣ".casefold()
# 'xssσ'
"XßΣ".lower()
# 'xßς'
在案例摺疊下發生的轉換由其網站上的 CaseFolding.txt 檔案中的 Unicode Consortium 定義。
str.upper()
str.upper
接受字串中的每個字元並將其轉換為大寫等效字元,例如:
"This is a 'string'.".upper()
# "THIS IS A 'STRING'."
str.lower()
str.lower
恰恰相反; 它接受字串中的每個字元並將其轉換為小寫的等效字元:
"This IS a 'string'.".lower()
# "this is a 'string'."
str.capitalize()
str.capitalize
返回字串的大寫版本,也就是說,它使第一個字元大寫,其餘字元小寫:
"this Is A 'String'.".capitalize() # Capitalizes the first character and lowercases all others
# "This is a 'string'."
str.title()
str.title
返回字串的標題版本,也就是說,單詞開頭的每個字母都是大寫的,所有其他字母都是小寫的:
"this Is a 'String'".title()
# "This Is A 'String'"
str.swapcase()
str.swapcase
返回一個新的字串物件,其中所有小寫字元都交換為大寫字母,所有大寫字元都交換為較低字串:
"this iS A STRiNG".swapcase() #Swaps case of each character
# "THIS Is a strIng"
用作 str
類方法
值得注意的是,這些方法可以在字串物件上呼叫(如上所示),也可以作為 str
類的類方法呼叫(顯式呼叫 str.upper
等)
str.upper("This is a 'string'")
# "THIS IS A 'STRING'"
當將這些方法之一同時應用於許多字串時,例如 map
函式,這是最有用的。
map(str.upper,["These","are","some","'strings'"])
# ['THESE', 'ARE', 'SOME', "'STRINGS'"]