首页 > 编程语言 >Python字符串替换的3种方法

Python字符串替换的3种方法

时间:2023-05-18 16:56:02浏览次数:45  
标签:Python Hello msg Hi 字符串 替换

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,Hello,msg,Hi,字符串,替换
From: https://www.cnblogs.com/python1111/p/17412458.html

相关文章

  • 如何安装python
    在Linux和MacOS系统中,Python通常已经预装了,可以通过以下命令检查Python是否已经安装:python--version如果Python已经安装,则会显示Python的版本号。如果Python没有安装,则可以通过以下命令安装:在Ubuntu和Debian系统中,可以使用以下命令安装Python:sudoapt-getupdates......
  • 如何安装python
    在Linux和MacOS系统中,Python通常已经预装了,可以通过以下命令检查Python是否已经安装:python--version如果Python已经安装,则会显示Python的版本号。如果Python没有安装,则可以通过以下命令安装:在Ubuntu和Debian系统中,可以使用以下命令安装Python:sudoapt-getupdates......
  • 2.python----模型类
    在models.py中穿件BlogArticlefromdjango.dbimportmodelsfromdjango.utilsimporttimezonefromdjango.contrib.auth.modelsimportUser#Createyourmodelshere.classBlogArticle(models.Model):title=models.CharField(max_length=300)author=mo......
  • 进度条设置及信息打印(tqdm-python)
    有时候自己写模型训练过程中,想要有点逼格的打印输出显示,可参考本文的方法,本文使用tqdm显示进度条,可实现前面与后面添加内容。总结:语言:python库:tqdm结果:进度条显示,进度条前后可添加信息。 代码如下:if__name__=='__main__':train_loader=100000withtqd......
  • python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法
    前言排序(Sorting)是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。本文主要讲述python中经常用的三种排序算法,选择排序法,冒泡排序法和插入排序法及其区别。通过对列表里的元素大小排序进行阐述。一、选择排序法选择......
  • Python基础语法(四)—列表、元组、字典、集合、字符串
    Python基础语法(一):https://blog.zeruns.tech/index.php/archives/54/Python基础语法(二):https://blog.zeruns.tech/index.php/archives/112/Python基础语法(三):https://blog.zeruns.tech/index.php/archives/150/Python基础语法(四):https://blog.zeruns.tech/index.php/archives/299/列......
  • Python计算身份证第18位(校验码)来判断身份证是否输入正确
    Python计算身份证第18位(校验码)来判断身份证是否输入正确前言身份证编码规则如下:根据〖中华人民共和国国家标准GB11643-1999〗中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成。顺序码(身份证第十五位到十七位)是县、区级政府所辖派出所的......
  • 如何在windows系统下下载、安装python程序及可视化工具PyCharm
    1、python下载python下载官网:https://www.python.org/http://python.p2hp.com/中文网点击进入官网,进入window下载页面。https://www.python.org/downloads/windows/选择安装版本:推荐下载稳定的老版本,找到相应版本进行下载。这里下载是3.6.8Windowsx86-64embedda......
  • ps印章扣取、替换印章颜色
    裁剪工具》调整图片大小、方向矩形选框工具》选中印章区域缩放工具》放大已选中印章区域选择菜单》色彩范围色彩范围》吸管工具、添加到取样吸取印章本身色彩范围调整颜色容差值(使印章字体清晰可见)最后确定 ctrl+j复制图层删除背景图层按住ctrl选中图层图像区......
  • Python从零到壹丨图像增强的顶帽运算和底帽运算
    摘要:这篇文章详细介绍了顶帽运算和底帽运算,它们将为后续的图像分割和图像识别提供有效支撑。本文分享自华为云社区《[Python从零到壹]四十九.图像增强及运算篇之顶帽运算和底帽运算》,作者:eastmount。数学形态学(MathematicalMorphology)是一种应用于图像处理和模式识别领域的新......