[编程基础] Python字符串替换笔记
Python字符串替换笔记
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()方法是指返回字符串最后一次出现的位置。rfind()使用介绍见python3-string-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)
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!'
4 参考
[编程基础] Python字符串替换笔记的更多相关文章
- StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?
StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...
- python 字符串替换
字符串替换可以用内置的方法和正则表达式完成.1用字符串本身的replace方法: a = 'hello word'b = a.replace('word','python')print b 2用正则表 ...
- python字符串替换的2种有效方法
python 字符串替换可以用2种方法实现:1是用字符串本身的方法.2用正则来替换字符串 下面用个例子来实验下:a = 'hello word'我把a字符串里的word替换为python1用字符串本身 ...
- python字符串替换的2种方法
python 字符串替换可以用2种方法实现:1是用字符串本身的方法.2用正则来替换字符串 下面用个例子来实验下:a = 'hello word'把a字符串里的word替换为python 1.用字符串本 ...
- [编程基础] Python格式化字符串常量f-string总结
Python格式化字符串常量f-string总结 本文主要总结在Python中如何使用格式化字符串常量f-string(Formatted string literals).在 Python 程序中, ...
- python 字符串替换功能 string.replace()可以用正则表达式,更优雅
说起来不怕人笑话,我今天才发现,python 中的字符串替换操作,也就是 string.replace() 是可以用正则表达式的. 之前,我的代码写法如下,粗笨: 自从发现了正则表达式也生效后,代码变 ...
- C#编程基础之字符串操作
本文来源于复习基础知识的学习笔记.自用的同时希望也能帮到其他童鞋. 什么是编程语言? 计算机可以执行的指令.这些指令成为源代码或者代码 有什么用? 以人们可读可理解的方式编写指令.人们希望计算机执行指 ...
- 【学习笔记】第二章 python安全编程基础---python爬虫基础(urllib)
一.爬虫基础 1.爬虫概念 网络爬虫(又称为网页蜘蛛),是一种按照一定的规则,自动地抓取万维网信息的程序或脚本.用爬虫最大的好出是批量且自动化得获取和处理信息.对于宏观或微观的情况都可以多一个侧面去了 ...
- [编程基础] Python模块和包使用笔记
本文探讨Python模块和Python包,这两种机制有助于模块化编程. 模块化编程是指将大型笨拙的编程任务分解为单独的,较小的,更易于管理的子任务或模块的过程.然后可以像构建模块一样将各个模块拼凑在一 ...
随机推荐
- BinaryBombs(二进制炸弹实验)
实验介绍 使用所学知识拆除Binary Bombs来增强对程序的机器级表示.汇编语言.调试器和逆向工程等理解. Binary Bombs(二进制炸弹)是一个可执行程序,是C语言编译链接成的,包含pha ...
- 【Java8新特性】- Stream流
Java8新特性 - Stream流的应用 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! ...
- 个人音乐博客 h5、css和js等
浅说一下吧 这个小项目由h5和css还有js和jq写的 主题内容为个人音乐 博客等 首页一级导航栏 以及侧边栏 整合部分图标(侧边栏未添加收起操作 时间原因 会的朋友们可以自行添加一个动画就可以 在m ...
- windows下cmd补全键注册表修改
1:使用win+r打开 运行 控制台 2:输入 regedit 打开注册表 3:进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\ ...
- JAVA系列之JVM内存调优
一.前提 JVM性能调优牵扯到各方面的取舍与平衡,往往是牵一发而动全身,需要全盘考虑各方面的影响.在优化时候,切勿凭感觉或经验主义进行调整,而是需要通过系统运行的客观数据指标,不断找到最优解.同时,在 ...
- Git 02: git管理码云代码仓库 + IDEA集成使用git
Git项目搭建 创建工作目录与常用指令 工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文. 日常使用只要记住下图6个命令: ...
- Kubeadm部署Kubernetes
Kubeadm部署Kubernetes 1.环境准备 主机名 IP 说明 宿主机系统 k8s-master 10.0.0.101 Kubernetes集群的master节点 Ubuntu2004 k8 ...
- 论文笔记 - MetaICL: Learning to Learn In Context
Motivation Facebook 的 MetaICL,牛逼就对了: 对 LM 针对 ICL 进行微调(而不是特定的任务): 去除了自然语言的 Template,使用更直接的方式,排除了 Temp ...
- python基础类型,字符串
python基本类型小结 # str,可以用索引取值,但是不能通过索引改变值, # a = "123" a[0]=10,直接TypeError因为字符串是不可变类型 # list, ...
- 关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL))
关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习 ...