Python字符串方法
Python字符串方法不会修改原字符串,所有操作均返回新字符串。字符串作为不可变对象,任何方法调用都生成新副本而非原地修改。以下是核心方法分类详解,附可运行示例:
一、基础操作
1. 长度统计
len(s):返回字符串字符数(非字节数)。s = "Hello 世界" print(len(s)) # 输出:8(中文字符计为1个)
2. 字符串连接
+运算符:拼接字符串(频繁拼接时推荐用join()提升性能)。print("Hello" + " " + "World") # 输出:Hello World
3. 重复操作
*运算符:重复生成新字符串。print("Hi" * 3) # 输出:HiHiHi
二、大小写转换
1. 全部转大写
upper():所有字母转大写,非字母字符不变。print("Hello, 123".upper()) # 输出:HELLO, 123
2. 全部转小写
lower():所有字母转小写。print("WORLD!".lower()) # 输出:world!
3. 首字母大写
capitalize():仅首字符大写,其余转小写。print("python IS awesome".capitalize()) # 输出:Python is awesome
4. 标题格式
title():每个单词首字母大写。print("hello world".title()) # 输出:Hello World
三、查找与替换
1. 子串查找
find(sub):返回首次出现的索引,未找到返回-1(不报错)。print("apple".find("p")) # 输出:1 print("apple".find("z")) # 输出:-1index(sub):功能同find(),但未找到时抛出ValueError。# print("apple".index("z")) # 报错:ValueError
2. 子串计数
count(sub):统计子串出现次数。print("banana".count("a")) # 输出:3
3. 子串替换
replace(old, new):替换所有匹配项,可指定替换次数。print("apple apple".replace("apple", "orange", 1)) # 输出:orange apple
四、去除空白与特殊字符
1. 两端去空
strip():移除首尾空白字符(空格、换行符等)。print(" text \n".strip()) # 输出:text
2. 左侧去空
lstrip():仅移除左侧空白。print(" text ".lstrip()) # 输出:text
3. 右侧去空
rstrip():仅移除右侧空白。print(" text ".rstrip()) # 输出: text
4. 自定义字符去除
strip(chars):移除首尾指定字符(按集合匹配,非顺序)。print("xx_hello_xx".strip("x_")) # 输出:hello
五、分割与连接
1. 分割为列表
split(sep):按分隔符拆分,返回列表(默认按空白分割)。print("a,b,c".split(",")) # 输出:['a', 'b', 'c']
2. 从右分割
rsplit(sep, maxsplit):从右侧开始分割,可限制分割次数。print("a-b-c-d".rsplit("-", 1)) # 输出:['a-b-c', 'd']
3. 列表转字符串
join(iterable):用字符串连接可迭代对象。print("-".join(["a", "b", "c"])) # 输出:a-b-c
六、判断与检查
1. 开头/结尾检查
startswith(prefix):判断是否以指定字符串开头。print("Hello.py".startswith("Hello")) # 输出:Trueendswith(suffix):判断是否以指定字符串结尾。print("Hello.py".endswith(".py")) # 输出:True
2. 字符类型检查
isalpha():是否全部为字母(不含空格/数字)。print("Hello".isalpha()) # 输出:True print("Hello123".isalpha()) # 输出:Falseisdigit():是否全部为数字字符。print("123".isdigit()) # 输出:Trueisspace():是否全部为空白字符。print(" \t\n".isspace()) # 输出:True
关键注意事项
- 不可变性:所有方法均不修改原字符串,必须用新变量接收结果。
- 大小写敏感:
find()、replace()等默认区分大小写。 - 空字符串处理:
split()默认按任意空白分割,连续空白视为一个分隔符。"".split()返回空列表[],但"".split(" ")返回['']。
- 高频方法推荐:日常开发中
strip()、split()、join()、replace()使用频率最高。
完整方法列表可参考官方文档:Python String Methods。实际编码中建议优先使用f-string 格式化(如
f"Value: {x:.2f}")替代旧式%或format()。
