1. replace() 方法
功能:替换字符串中的指定子串
语法:str.replace(old, new[, count])
特点:
- 全部替换(默认)或指定替换次数
- 区分大小写
- 返回新字符串,原字符串不变
示例:
text = "hello world! world is beautiful." # 基本替换 print(text.replace("world", "python")) # 输出:hello python! python is beautiful. # 限制替换次数 print(text.replace("world", "python", 1)) # 输出:hello python! world is beautiful. # 特殊字符替换 print("a-b-c-d".replace("-", "->")) # 输出:a->b->c->d
2. split() 方法
功能:将字符串分割为列表
语法:str.split(sep=none, maxsplit=-1)
特点:
- 默认按空白符分割
- 可指定分割符和分割次数
- 返回列表类型
示例:
text = "apple,banana,orange,grape" # 基本分割 print(text.split(",")) # 输出:['apple', 'banana', 'orange', 'grape'] # 限制分割次数 print(text.split(",", 2)) # 输出:['apple', 'banana', 'orange,grape'] # 默认分割(按空格) print("python is awesome".split()) # 输出:['python', 'is', 'awesome']
3. strip() 方法
功能:去除字符串两端指定字符
语法:str.strip([chars])
特点:
- 默认去除空白符
- 可指定多个去除字符
- 有衍生方法
lstrip()
(左)和rstrip()
(右)
示例:
text = " hello world! " # 默认去空白 print(text.strip()) # 输出:"hello world!" # 指定去除字符 print("**python**".strip("*")) # 输出:"python" # 多字符处理 print("abchelloabc".strip("abc")) # 输出:"hello" # 左右单独处理 print(" text ".lstrip()) # 输出:"text " print(" text ".rstrip()) # 输出:" text"
对比总结表
方法 | 主要功能 | 返回值类型 | 是否修改原字符串 | 典型应用场景 |
---|---|---|---|---|
replace | 子串替换 | 字符串 | 否(新字符串) | 文本内容替换、格式转换 |
split | 字符串分割 | 列表 | 否 | 解析csv数据、分割日志信息 |
strip | 两端字符去除 | 字符串 | 否 | 数据清洗、去除多余空白/标点 |
关键区别说明
操作维度:
replace
:基于内容替换split
:基于分隔符重组strip
:基于边界修剪
参数特性:
# replace 可链式操作 "abc123".replace("a", "x").replace("1", "y") # 输出:"xbcy23" # split 保留空字符串 "a,,b".split(",") # 输出:['a', '', 'b'] # strip 字符集处理 "abcdef".strip("abf") # 输出:"cde"(按字符集合匹配)
性能注意:
- 高频操作建议预编译正则表达式
- 大数据量处理优先考虑生成器表达式
- 复杂文本处理建议结合使用:
" name: john; age:25 ".strip().split(";") # 输出:['name: john', ' age:25']
掌握这三个方法可以应对80%的日常字符串处理需求,配合使用能实现更复杂的数据清洗和文本解析功能。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论