更改字符串的大小写
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'"]