Python字符串操作核心是不可变性,所有“修改”均生成新字符串;常用方法包括strip()去首尾空白、lower()/upper()转换大小写、startswith()/endswith()判断前后缀、split()/join()分割拼接、replace()替换及f-string格式化。

Python字符串操作核心在于理解字符串的不可变性,再熟练掌握常用方法的用途和边界条件。直接修改字符串是不可能的,所有“修改”实际是生成新字符串,这点必须明确。
大小写与空白处理
这类方法不改变原字符串,返回新字符串,适合链式调用。
-
strip() 去除首尾空白(包括空格、\t、\n),不会影响中间空格;可用参数指定要去除的字符,如
"..hello..".strip(".") → "hello" -
lower() 和 upper() 全转小写/大写,注意对非ASCII字符(如带重音符号的字母)在某些Python版本中可能行为不一致,建议配合
locale或使用casefold()做更安全的大小写比较 -
title() 首字母大写,但会把撇号后字母也大写(如
"it's ok".title() → "It'S Ok"),生产环境慎用;推荐用capwords()(需导入string模块)或正则手动控制
查找与判断类方法
这些方法返回布尔值或索引,常用于条件判断和数据清洗。
-
startswith() 和 endswith() 支持元组参数,一次检查多个前缀/后缀,如
filename.endswith((".py", ".pyw")) -
find() 和 index() 都返回子串首次出现位置,区别在于:未找到时
find()返回 -1,index()抛出ValueError;日常建议优先用find()避免异常 -
isalnum()、isalpha()、isdigit() 等判定方法要求字符串非空且所有字符都满足条件,空字符串返回
False
分割与拼接
这是数据预处理中最频繁的操作,关键在分隔符逻辑和空字段处理。
立即学习“Python免费学习笔记(深入)”;
-
split() 默认按任意空白字符切分,自动跳过多余空格;指定分隔符时,连续分隔符会产生空字符串,如
"a,,b".split(",") → ["a", "", "b"];用maxsplit参数可限制切分次数,避免过度拆分 -
join() 只能由字符串调用,参数必须是字符串序列,
list或tuple都可以,但不能含None或数字;常见错误是误写成my_list.join(","),正确是",".join(my_list) - 需要保留分隔符时,用
re.split(r"(\W+)", text)(导入re),括号实现捕获分组,结果包含分隔符本身
替换与格式化
区分简单替换与模式替换,避免过度依赖正则解决简单问题。
-
replace(old, new[, count]) 是最轻量的替换,
count控制替换次数,适合固定文本;注意它不支持通配或条件替换 - 含变量插入优先用 f-string(Python 3.6+),简洁安全:
f"Name: {name}, Age: {age}";旧代码中str.format()比 % 格式化更灵活,支持命名和位置参数 - 正则替换用
re.sub(),当需基于规则(如统一电话号码格式、清理HTML标签)时才启用;简单场景硬套正则反而增加维护成本










