文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python字符串替换的3种方法

2023-09-09 05:40

关注

Python字符串替换笔记主要展示了如何在Python中替换字符串。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)#输出1234,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)#输出13Hello 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!'

来源地址:https://blog.csdn.net/qdPython/article/details/130137565

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯