当前位置: 首页 > news >正文

python之replace,strip,split命令

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两端字符去除字符串数据清洗、去除多余空白/标点

关键区别说明

  1. 操作维度
    • replace:基于内容替换
    • split:基于分隔符重组
    • strip:基于边界修剪
  2. 参数特性
# replace 可链式操作
"abc123".replace("a", "X").replace("1", "Y")  # 输出:"XbcY23"

# split 保留空字符串
"a,,b".split(",")  # 输出:['a', '', 'b']

# strip 字符集处理
"abcdef".strip("abf")  # 输出:"cde"(按字符集合匹配)
  1. 性能注意
    • 高频操作建议预编译正则表达式
    • 大数据量处理优先考虑生成器表达式
    • 复杂文本处理建议结合使用:
"  Name: John; Age:25  ".strip().split(";")  
# 输出:['Name: John', ' Age:25']

掌握这三个方法可以应对80%的日常字符串处理需求,配合使用能实现更复杂的数据清洗和文本解析功能。

http://www.dtcms.com/a/62219.html

相关文章:

  • ai agent开发实例
  • Mysql 的 Query Cache为什么被废弃
  • 设计一个优秀 API 的秘诀
  • HAMSTER: HIERARCHICAL ACTION MODELS FOR OPEN-WORLD ROBOT MANIPULATION
  • 2.4 基于Vitest的单元测试基础设施搭建
  • AutoGen学习笔记系列(十)Advanced - Swarm
  • 大湾区经济网报道:全国已有103个统筹地区实施医保基金即时结算
  • Ubuntu 22.04 安装配置 FTP服务器 教程
  • Vue3的基本使用
  • Nginx 服务器,Apache 服务器,IIS 服务器的区别
  • 【测试语言基础篇】Python基础之List列表
  • Vim多模式编辑器的三种模式和常用命令集
  • springboot432-基于SpringBoot的酒店管理系统(源码+数据库+纯前后端分离+部署讲解等)
  • 使用 crontab 定时同步服务器文件到本地
  • HarmonyOS开发 - 电商App实例三( 网络请求axios)
  • NGINX介绍--鱼皮老师课程学习笔记
  • 《HTML视觉大框架:构建现代网页设计的基石》
  • 【Pandas】pandas Series update
  • 【玩转23种Java设计模式】结构型模式篇:享元模式
  • ArduPilot开源代码之AP_OSD_SITL
  • 使用TensorFlow 2构建并训练卷积神经网络(CNN)模型
  • sap关账+策略模式(避免大量if elseif)
  • LeetCode 513. 找树左下角的值 java题解
  • 《Spring日志整合与注入技术:从入门到精通》
  • 物理服务器抵御网络攻击的方法都有哪些?
  • SCSS详解
  • 创建模式-工厂方法模式(Factory Method Pattern)
  • UE5以插件的形式加载第三方库
  • AI+视频监控电力巡检:EasyCVR视频中台方案如何赋能电力行业智能化转型
  • 爬虫的精准识别:基于 User-Agent 的正则实现