Python字符串替换的3种方法

2023-10-27

Python字符串替换笔记主要展示了如何在Python中替换字符串。Python中有以下几种替换字符串的方法,本文主要介绍前三种。

  • replace方法(常用)
  • translate方法
  • re.sub方法
  • 字符串切片(根据Python字符串切片方法替换字符)

1.replace方法

Python replace方法把字符串中的old(旧字符串) 替换成new(新字符串),如果指定第三个参数max,则设置替换次数不超过 max 次。

str.replace(old, new[, max])

示例1

在该示例中,出现的两个单词Hello都被替换为Hi。

#原字符
msg = "Hello world! Hello Python!"
 
# 替换字符,字符串直接调用replace方法
msg2 = msg.replace('Hello', 'Hi')
 

print(msg2)
#输出
Hi world! Hi Python!

示例2

可以直接str.replace方法。它将我们进行替换的字符串作为第一个参数。结果和示例1一样。

msg = "Hello world! Hello Python!"
 
msg2 = str.replace(msg, 'Hello', 'Hi')
 

print(msg2)
#输出
Hi world! Hi Python!

示例3

我们可以用换行符替换每个逗号,并设置替换次数

data = "1,2,3,4,5"
 
# 替换次数为3次
data2 = data.replace(',', '\n', 3)
 

print(data2)
#输出
1
2
3
4,5

示例4

在该示例中,我们替换最后一次出现的单词Hello。需要结合Python rfind()方法。rfind()方法是指返回字符串最后一次出现的位置。

msg = "Hello world! Hello Python!"
 
# Python rfind()返回字符串最后一次出现的位置
idx = msg.rfind("Hello")
print(idx)
 
# 提取前一部分字符不替换,取后一部分字符进行替换
# 这里用到了字符串切片的方式
msg2 = msg[:idx] + str.replace( msg[idx:] , "Hello", "Hi")
 

print(msg2)
#输出
13
Hello world! Hi Python!

示例5

我们可以将replace方法链接起来进行多次替换。

msg = "Hello world! Hello Python!"
 
msg2 = msg.replace('Hello', 'Hi').replace('!','.')
 

print(msg2)
#输出
Hi world. Hi Python.

2.translate方法

Python的translate函数与replace函数一样,用于替换字符串的一部分。Translate只能处理单个字符,但translate可以同时进行多个替换任务。在使用translate函数进行转换之前。需要一个翻译表table,翻译表用于表示字符的替换关系,这个翻译表可以通过maketrans()方法获得。这个翻译表可翻译字符数为256,翻译表中的字符都要包含在ASCII码表(含扩展)中。translate()方法语法为:

str.translate(table)

示例1

msg = "Hello world! Hello Python!"
 
# intab中的字符与outtab中的字符一一对应
intab = "aeiou"
outtab = "12345"
# 制作翻译表
trantab = str.maketrans(intab, outtab)   
# trantab中的字符都会用ASCII码表示
print(trantab)
#Python小白学习交流群:711312441 
msg2 = msg.translate(trantab)
 

print(msg2)
#输出
{97: 49, 101: 50, 105: 51, 111: 52, 117: 53}
H2ll4 w4rld! H2ll4 Pyth4n!

3.re.sub 替换字符串

我们可以使用正则表达式来替换字符串。Python的re库就是常用的正则表达式匹配库(建议学一学很有用)。re库使用见模式匹配与正则表达式笔记。这里主要使用re.sub函数替换字符串。re.sub()方法需要传入两个参数。第一个参数是一个字符串,用于取代发现的匹配。第二个参数是一个字符串,即正则表达式。sub()方法返回替换完成后的字符串。

示例1

import re
 
msg = "Hello world! Hello Python!"
# 设置要替换的字符
namesRegex = re.compile(r'Hello')
# 用'Hi'替换msg中已经设置好要替换的字符
namesRegex.sub('Hi', msg)
 
#输出 
'Hi world! Hi Python!'

好了,今天的分享就到这里!如果你对Python感兴趣,想要学习pyhton,这里给大家分享一份Python全套学习资料,里面的内容都是适合零基础小白的笔记和资料,超多实战案例,不懂编程也能听懂、看懂。

需要的话可以微信扫描下方二维码免费获得。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述
二、Python学习软件

工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!
在这里插入图片描述
三、Python入门学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

四、Python练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

五、Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~在这里插入图片描述

六、Python面试资料

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述
七、资料领取

上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python字符串替换的3种方法 的相关文章

随机推荐

  • 【4399运维笔试题】

    rsync传输过程中有大文件 默认会做数据校验 所以每次都耗费很长时间 可以使用 W取消校验 1 4 mysqldump uroot pmima B 4699sy gt backup date F 4399sy sql 2 30 0 tar
  • CloudCompare——计算点云曲率

    目录 1 找到曲率计算功能 2 设置计算参数 3 可视化曲率计算结果 4 保存计算结果 5 完整操作流程 6 相关链接 1 找到曲率计算功能 2 设置计算参数 只有一个参数 位置处用于查找最近邻点的球邻域半径 3 可视化曲率计算结果 4 保
  • 保卫家园(小白版)

    保卫家园 牛客 题目链接 https ac nowcoder com acm problem 205068 题目 题目描述 为了抵御深渊的蔓延 被深渊毁掉家园的人们组建法兰不死队来镇压深渊 已知法兰不死队的最大编制为k 即队伍最多能有k人
  • (详解)用C语言实现一个能够连续展开的扫雷。

    功能介绍 我们实现一个扫雷 那么必须具有其基本的功能 如下图 那么相比较一般的用C实现的扫雷 我们需要添加如下的三个功能 防止第一次被炸死 标记雷 连续展开 代码实现以及解释 一 主函数的实现以及扫雷的构思框架 test c int mai
  • 自举电容的工作原理-3句话总结

    1 一道面试题 照例 先抛出来一道面试题 Buck电路的SW引脚通常会放置一颗小电容 这颗电容有什么用 这个问题问得比较细 非常考验被面试者的硬件基本功 2 似懂非懂的答案 有小伙伴可能不太清楚这颗电容的作用 回答不上来 也有小伙伴脱口而出
  • 1 shell备份数据库MYSQL案例

    SHELL编程实战MYSQL备份脚本 编程思路 1 备份MYSQL数据库 备份的工具的选择 数据量小于100G使用全备 基于mysqldump工具备份 备份会锁表 数据量大于100G使用增量备份 基于xtrabackup工具备份 Innod
  • STM32CubeMX新建工程并点亮一个LED

    可提前看 STM32CubeMX环境安装 保姆级 目录 进入STM32CubeMX界面 双击软件 可能会出现的弹窗 更改固件路径 新建工程 进入配置环境 以一个点灯程序为例 GPIO配置 输出电平设置 输出模式 上下拉 输出速度 User
  • 方差

    什么是随机变量的方差 方差反映随机变量取值的什么性质 方差是一个常用来体现随机变量的取值分散程度的量 设 X X X是一个随机变量 若 E X
  • (c语言)输出Programming is fun!

    题目要求 输入 无 输出 Programming is fun 具体代码如下 include
  • 打印从1到最大的n位数

    链接 打印从1到最大的n位数 牛客题霸 牛客网 nowcoder com 描述 输入数字 n 按顺序打印出从 1 到最大的 n 位十进制数 比如输入 3 则打印出 1 2 3 一直到最大的 3 位数 999 1 用返回一个整数列表来代替打印
  • Hands-On Hyperledger Fabric——Fabric的证书(账号)体系

    文章目录 Fabric证书是什么 Fabric证书服务器 Fabric ca fabric ca server的初始化 fabric ca server 配置文件 fabric ca client 使用 将Fabric ca server绑
  • GPT分区规划与各分区作用解析

    1 GPT分区规划 安装用EFI引导的Windows 10前 手动为硬盘分区 推荐方案如下 序号 分区名 起始柱面 磁头 扇区 容量 MBR保留扇区 GPT分区表 1MB 0 ESP分区 0 32 33 96MB 空白 预留给扩展ESP时使
  • 【H5】 svg画贝塞尔曲线方法

    H5 svg画贝塞尔曲线方法 d属性M 起始坐标 L 结束坐标 H 水平线 V 垂直线 A 圆弧 Z 闭合路劲 C S Q T贝塞尔曲线大写为绝对坐标 具体的坐标位置 小写为相对坐标 相对起始坐标点的具体长度 A命令x 径y半径角度弧长 0
  • 关于虚拟机.vmdk与.ovf 磁盘装载问题

    与 vmdk磁盘装载相关的两种方式 0 前言 1 只有 vmdk文件 2 带有 ovf vmdk文件 0 前言 提一嘴 现在用的比较多的虚拟机创建或者拷贝方式有两种 第一种是iso光盘映像装载 第二种是OVF导入 分别为 ISO的装载方式最
  • build JAX from source code

    Building from source JAX documentation
  • visual studio:不能加载.vdproj

    总结 下载后关闭所有vs项目 重新打开目标工程 需要完成次扩展的后续安装任务 参考 https www cnblogs com hofmann p 11183457 htm
  • 122FPS,51.9mAP 超轻量关键点检测算法PP-TinyPose来啦!

    在人机交互场景中 机器可以识别人的手势 肢体动作 表情 你可知背后的核心技术是什么吗 没错 就是关键点检测技术 它能帮你实现精准的人机交互任务 如手势控制 智能健身 体感游戏等 还可以识别交通违规 打架斗殴 违规操作等异常行为 话不多说 我
  • DVWA——XSS(Dom low&medium)

    此文章只用于学习 请勿用作其他违法犯罪行为 以下部分文字内容以图片形式展示 因为JS代码打不上去 目录 前言 XSS攻击流程 XSS的危害 XSS的漏洞类型 JS基本语句 XSS Dom Low XSS Dom Medium 前言 XSS被
  • Ubantu扩展SWAP区,使用gparted,以及死机非热启动解决方法

    Ubantu扩展SWAP区 使用gparted 以及死机非热启动解决方法 Swap分区 强制重启 扩充SWAP Swap分区 Swap分区是用来扩展内存的 即使用一部分硬盘空间作为交换 个人认为电脑内存大于16G即不需要分配Swap空间 我
  • Python字符串替换的3种方法

    Python字符串替换笔记主要展示了如何在Python中替换字符串 Python中有以下几种替换字符串的方法 本文主要介绍前三种 replace方法 常用 translate方法 re sub方法 字符串切片 根据Python字符串切片方法