Python字符串操作核心是不可变性,所有“修改”均生成新字符串;常用方法包括strip()去首尾空白、lower()/upper()转换大小写、startswith()/endswith()判断前后缀、split()/join()分割拼接、replace()替换及f-string格式化。
Python字符串操作核心在于理解字符串的不可变性,再熟练掌握常用方法的用途和边界条件。直接修改字符串是不可能的,所有“修改”实际是生成新字符串,这点必须明确。
这类方法不改变原字符串,返回新字符串,适合链式调用。
"..hello..".strip(".") → "hello"
locale 或使用 casefold() 做更安全的大小写比较"it's ok".title() → "It'S Ok"),生产环境慎用;推荐用 capwords()(需导入 string 模块)或正则手动控制这些方法返回布尔值或索引,常用于条件判断和数据清洗。
filename.endswith((".py", ".pyw"))
find() 返回 -1,index() 抛出 ValueError;日常建议优先用 find() 避免异常False
这是数据预处理中最频繁的操作,关键在分隔符逻辑和空字段处理。
"a,,b".split(",") → ["a", "", "b"];用 maxsplit 参数可限制切分次数,避免过度拆分list 或 tuple 都可以,但不能含 None 或数字;常见错误是误写成 my_list.join(","),正确是 ",".join(my_list)
re.split(r"(\W+)", text)(导入 re),括号实现捕获分组,结果包含分隔符本身区分简单替换与模式替换,避免过度依赖正则解决简单问题。
count 控制替换次数,适合固定文本;注意它不支持通配或条件替换
on 3.6+),简洁安全:f"Name: {name}, Age: {age}";旧代码中 str.format() 比 % 格式化更灵活,支持命名和位置参数re.sub(),当需基于规则(如统一电话号码格式、清理HTML标签)时才启用;简单场景硬套正则反而增加维护成本