首页 > 编程语言 >[编程基础] Python字符串替换笔记

[编程基础] Python字符串替换笔记

时间:2022-12-18 23:45:31浏览次数:66  
标签:Python 编程 替换 Hi 字符串 replace Hello

Python字符串替换笔记

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

  1. replace方法(常用)
  2. translate方法
  3. re.sub方法
  4. 字符串切片(根据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,编程,替换,Hi,字符串,replace,Hello
From: https://www.cnblogs.com/luohenyueji/p/16991269.html

相关文章

  • Java实现异步编程的8种方式
    一、......
  • [编程基础] Python随机数生成模块总结
    date:2020-06-2421:05:32+0800tags:-编程基础-PythonPython随机数生成模块教程演示如何在Python中生成伪随机数。1介绍1.1随机数字生成器随机数生成器(......
  • python---基础部分---六种标准数据类型
    注意:    基本数据类型:python中一切都是对象(class)一、六种标准数据类型:  一、NUmber类型:       整形,浮点型,复数类型,布尔型,所有数据类型都是以类形......
  • [编程基础] Python中args和kwargs参数的使用
    date:2020-10-1421:04:20+0800tags:-编程基础-Python本文主要介绍Python中*args和**kwargs参数的使用1使用在Python中,定义函数时可以使用两个特殊符号,以......
  • python调go dll库构造函数方法
    调用方法最主要的是 fromctypesimport* 里面包含了windll调用加载方法,具体用windll还是cdll加载动态库见百度接下来就是classGoString(Structure):_fields_=[(......
  • 桌面应用自动化python——uiautomation API 如何找元素
       本文主要用到一个uiautomation的开源框架,是一个咱们中国人写的,支持MFC,WindowsForms,WPF,Metro,Qt界面;此文主要是自己的个人总结,开源作者原文:gethub地址:https://g......
  • Python 资源大全中文版
    我想很多程序员应该记得GitHub上有一个Awesome-XXX系列的资源整理。​​awesome-python​​ 是vinta发起维护的Python资源列表,内容包括:Web框架、网络爬虫、网络......
  • excel文件读写操作python
    #-*-coding:utf8-*-fromos.pathimportjoinfromxlrdimportopen_workbookfromxlutils.copyimportcopyimportos,sysclassReadAndWriteExcel:def__init__(sel......
  • Python进行自动化测试综合介绍
    目前大家对​​Python​​都有一个共识,就是他对​​测试​​非常有用,自动化测试里Python用途也很广,但是Python到底怎么进行自动化测试呢?今天就简单的向大家介绍一下怎么使用......
  • Python调用windows下DLL详解 - ctypes库的使用
    在python中某些时候需要C做效率上的补充,在实际应用中,需要做部分数据的交互。使用python中的ctypes模块可以很方便的调用windows的dll(也包括linux下的so等文件),下面将详细的讲......