python如何使用replace做多字符替换
作者:醉小义 发布时间:2022-10-23 01:26:59
标签:python,replace,多字符,替换
使用replace做多字符替换
import re
words = '''
钟声响起归家的讯号
在他生命里
仿佛带点唏嘘
黑色肌肤给他的意义
是一生奉献 肤色斗争中
年月把拥有变做失去
疲倦的双眼带着期望
今天只有残留的躯壳
迎接光辉岁月
风雨中抱紧自由
一生经过彷徨的挣扎
自信可改变未来
问谁又能做到
可否不分肤色的界限
愿这土地里
不分你我高低
缤纷色彩闪出的美丽
是因它没有
分开每种色彩
年月把拥有变做失去
疲倦的双眼带着期望
今天只有残留的躯壳
迎接光辉岁月
风雨中抱紧自由
一生经过彷徨的挣扎
自信可改变未来
问谁又能做到
今天只有残留的躯壳
迎接光辉岁月
风雨中抱紧自由
一生经过彷徨的挣扎
自信可改变未来
问谁又能做到
今天只有残留的躯壳
迎接光辉岁月
风雨中抱紧自由
一生经过彷徨的挣扎
自信可改变未来
问谁又能做到
今天只有残留的躯壳
迎接光辉岁月
风雨中抱紧自由
一生经过彷徨的挣扎
自信可改变未来
'''
'替换\n 和空格'
#方法1
words = words.replace('\n', '').replace(' ', '')
print(words)
#方法2
rep = {'\n':'',' ':''}
rep = dict((re.escape(k), v) for k, v in rep.items())
#print(rep)
#print(rep.keys())
pattern = re.compile("|".join(rep.keys()))
#print(pattern)
my_str = pattern.sub(lambda m: rep[re.escape(m.group(0))], words)
print(my_str)
#print(words.replace(['\n',' '],''))
'''
钟声响起归家的讯号在他生命里仿佛带点唏嘘黑色肌肤给他的意义是一生奉献肤色斗争中年月把拥有变做失去疲倦的双眼带着期望今天只有残留的躯壳迎接光辉岁月风雨中抱紧自由一生经过彷徨的挣扎自信可改变未来问谁又能做到可否不分肤色的界限愿这土地里不分你我高低缤纷色彩闪出的美丽是因它没有分开每种色彩年月把拥有变做失去疲倦的双眼带着期望今天只有残留的躯壳迎接光辉岁月风雨中抱紧自由一生经过彷徨的挣扎自信可改变未来问谁又能做到今天只有残留的躯壳迎接光辉岁月风雨中抱紧自由一生经过彷徨的挣扎自信可改变未来问谁又能做到今天只有残留的躯壳迎接光辉岁月风雨中抱紧自由一生经过彷徨的挣扎自信可改变未来问谁又能做到今天只有残留的躯壳迎接光辉岁月风雨中抱紧自由一生经过彷徨的挣扎自信可改变未来
'''
批量替换字符串内容
问题描述
批量替换字符串内容
x
:原始字符串old
:要替换的内容,可为 str , listnew
:新内容,可为 str , list , Nonestrip
:是否删除前后空格
不传新内容 new,则要替换的内容 old 被删掉。
解决方案
from itertools import zip_longest
def replace(x, old, new=None, strip=False) -> str:
'''批量替换字符串内容
:param x: 原始字符串
:param old: 要替换的内容,可为 `str` , `list`
:param new: 新内容,可为 `str` , `list` , `None`
:param strip: 是否删除前后空格
>>> replace('10000阅读', old='阅读')
'10000'
>>> replace('文章10000阅读', old=['文章', '阅读'])
'10000'
>>> replace('10000阅读', old='阅读', new='点击')
'10000点击'
>>> replace('文章10000阅读', old=['文章', '阅读'], new=[None, '点击'])
'10000点击'
>>> replace('文章10000阅读', old=['文章', '阅读'], new=['', '点击'])
'10000点击'
>>> replace('文章10000阅读', old=['文章', '阅读'], new=['美文'])
'美文10000'
'''
if not new:
new = ''
if isinstance(old, str):
x = x.replace(old, new)
if isinstance(old, list):
for _old, _new in zip_longest(old, new, fillvalue=''):
if _new == None:
_new = ''
x = x.replace(_old, _new)
if strip:
x = x.strip()
return x
内置方法
该方法只能一一对应
s = '你好,今天怎么样?挺好的.'
table = s.maketrans(',.?', ',。?')
print(s.translate(table))
# 你好,今天怎么样?挺好的。
来源:https://blog.csdn.net/qq_30638831/article/details/81153011


猜你喜欢
- 使用python实现单向循环链表,供大家参考,具体内容如下单向循环链表将所有的链接在一起,每一个节点分为数据存储区和链接区,数据区存储数据,
- 编译和解释的区别是什么?编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速
- Tkinter实现UI分页标签显示:Input页,红色部分为当前Frame的位置,下半部分为第一页的子标签;三页标签的显示内容各不相同。实现
- 我的文章的意义服务端开发,python,django这些内容上面的链接中有详细的阐述. 我写的内容肯定没有上面的完备,准确. 我的文章的价值
- XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本
- 使用filter函数,实现一个条件判断函数即可。比如想过滤掉字符串数组中某个敏感词,示范代码如下:#filter out some unwa
- re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要
- 如何制作K线图?也不难,代码和说明见下:<%@ Language=VBScript %><%Respo
- 方法1:使用dataframe.loc[]函数通过这个方法,我们可以用一个条件或一个布尔数组来访问一组行或列。如果我们可以访问它,我们也可以
- 1. 首先是环境的安装 (本人使用的是PyCharm,python3.6)pip3 install PyQt5 (没有指定版本的话,默认会安
- 今天在编写PHPDoc的导出文档的时候发现一个很郁闷的错误,虽然这个warning不是什么重要错误,但是看着总是很不爽的。于是就去网上找了很
- 安装python-docxpip install python-docx如果python2安装后不能使用(找不到包),建议直接使用pytho
- <?php // fix 404 pages: header('HTTP/1.1 200 OK'); // set 4
- 最近邻:import cv2import numpy as npdef function(img): height,width,channe
- 什么是状态机?关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个
- JDBC连接MySQL数据库关键的四个步骤1、查找驱动程序MySQL目前提供的Java驱动程序为Connection/J,可以从MySQL官
- 进程是什么?进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成
- 如今WEB的安全问题影响着整个安全界,SQL注入,跨站脚本攻击等攻击受到了关注。 网络安全问题日益变的更加重要,国内依然有很多主机受到此类安
- 1、目的通过读取配置文件获取pgsql用户名和密码及数据库和数据表,从而读取所需字段值。2、代码架构config/config.go:读取配
- 问题描述: 有2个数组如下a = [3,3,3,4,4,4,5,6,7]b = [3,3,4,4]第1题:从数组a中删除所有在数组b中出现过