Python 中如何把字符串转成大写或小写?
Python 大小写转换:upper() 转大写、lower() 转小写、capitalize() 首字母大写、title() 每个单词首字母大写、casefold() 更彻底的小写比较。本文汇总各种方法。
转大写用 s.upper(),转小写用 s.lower()。两者都返回新字符串,不修改原字符串。
常用方法一览
s = "hello world"
s.upper() # "HELLO WORLD"——全部大写
s.lower() # "hello world"——全部小写
s.capitalize() # "Hello world"——仅首字符大写,其余小写
s.title() # "Hello World"——每个单词首字母大写
s.swapcase() # "HELLO WORLD"——大小写互换
大小写不敏感的比较
不要直接 s1.lower() == s2.lower(),推荐 casefold()——它对 Unicode 的处理更彻底(如德语 ß 会被转成 ss):
"Straße".casefold() == "STRASSE".casefold() # True
判断当前大小写
"ABC".isupper() # True
"abc".islower() # True
常见问题(FAQ)
Q:upper() 会修改原字符串吗?
A:不会。字符串不可变,所有转换方法都返回新字符串。
Q:只想让句首大写用什么?
A:s.capitalize()——注意它会把其他字母都变小写,"hELLO".capitalize() 得到 "Hello"。
Q:title() 处理缩写有问题吗?
A:有。"they're".title() 得到 "They'Re"——它把撇号当单词边界。对文本质量要求高时用正则或 nltk 等库。