脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - python如何使用replace做多字符替换

python如何使用replace做多字符替换

2022-12-26 12:57醉小义 Python

这篇文章主要介绍了python如何使用replace做多字符替换,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用replace做多字符替换

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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 , list
  • new:新内容,可为 str , list , None
  • strip:是否删除前后空格

不传新内容 new,则要替换的内容 old 被删掉。

解决方案

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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

内置方法

该方法只能一一对应

?
1
2
3
4
s = '你好,今天怎么样?挺好的.'
table = s.maketrans(',.?', ',。?')
print(s.translate(table))
# 你好,今天怎么样?挺好的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_30638831/article/details/81153011

延伸 · 阅读

精彩推荐
  • PythonPython JSON常用编解码方法代码实例

    Python JSON常用编解码方法代码实例

    这篇文章主要介绍了Python JSON常用编解码方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

    Python探索牛4392020-09-06
  • Python用python求一个数组的和与平均值的实现方法

    用python求一个数组的和与平均值的实现方法

    今天小编就为大家分享一篇用python求一个数组的和与平均值的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Emily18812882021-07-27
  • Pythonmac安装python3后使用pip和pip3的区别说明

    mac安装python3后使用pip和pip3的区别说明

    这篇文章主要介绍了mac安装python3后使用pip和pip3的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    阿术和薇薇安7262020-09-02
  • Python将Python代码打包成.exe可执行文件的完整步骤

    将Python代码打包成.exe可执行文件的完整步骤

    这篇文章主要给大家介绍了关于如何将Python代码打包成.exe可执行文件的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定...

    乔木自燃wwq7332021-10-28
  • PythonPython 多进程和数据传递的理解

    Python 多进程和数据传递的理解

    这篇文章主要介绍了Python 多进程和数据传递的理解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下...

    wait_for_eva5492020-12-11
  • PythonPython3+RIDE+RobotFramework自动化测试框架搭建过程详解

    Python3+RIDE+RobotFramework自动化测试框架搭建过程详解

    这篇文章主要介绍了Python3+RIDE+RobotFramework自动化测试框架搭建过程详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参...

    程序员一凡8022020-09-24
  • Python浅谈Python基础之I/O模型

    浅谈Python基础之I/O模型

    下面小编就为大家带来一篇浅谈Python基础之I/O模型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    Python教程网3372020-10-08
  • PythonPython数据库封装实现代码示例解析

    Python数据库封装实现代码示例解析

    这篇文章主要介绍了Python数据库封装实现代码示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    Python探索牛5812020-09-05