replace替换多个字符怎样实现,如何批量替换内容

Admin 2022-11-04 群英技术资讯 346 次浏览

这篇文章给大家介绍了“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 , list
  • new:新内容,可为 str , list , None
  • strip:是否删除前后空格

不传新内容 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))
# 你好,今天怎么样?挺好的。

以上就是关于“replace替换多个字符怎样实现,如何批量替换内容”的相关知识,感谢各位的阅读,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服