網(wǎng)站首頁 編程語言 正文
使用replace做多字符替換
import re words = ''' 鐘聲響起歸家的訊號 在他生命里 仿佛帶點唏噓 黑色肌膚給他的意義 是一生奉獻(xiàn) 膚色斗爭中 年月把擁有變做失去 疲倦的雙眼帶著期望 今天只有殘留的軀殼 迎接光輝歲月 風(fēng)雨中抱緊自由 一生經(jīng)過彷徨的掙扎 自信可改變未來 問誰又能做到 可否不分膚色的界限 愿這土地里 不分你我高低 繽紛色彩閃出的美麗 是因它沒有 分開每種色彩 年月把擁有變做失去 疲倦的雙眼帶著期望 今天只有殘留的軀殼 迎接光輝歲月 風(fēng)雨中抱緊自由 一生經(jīng)過彷徨的掙扎 自信可改變未來 問誰又能做到 今天只有殘留的軀殼 迎接光輝歲月 風(fēng)雨中抱緊自由 一生經(jīng)過彷徨的掙扎 自信可改變未來 問誰又能做到 今天只有殘留的軀殼 迎接光輝歲月 風(fēng)雨中抱緊自由 一生經(jīng)過彷徨的掙扎 自信可改變未來 問誰又能做到 今天只有殘留的軀殼 迎接光輝歲月 風(fēng)雨中抱緊自由 一生經(jīng)過彷徨的掙扎 自信可改變未來 ''' '替換\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',' '],'')) ''' 鐘聲響起歸家的訊號在他生命里仿佛帶點唏噓黑色肌膚給他的意義是一生奉獻(xiàn)膚色斗爭中年月把擁有變做失去疲倦的雙眼帶著期望今天只有殘留的軀殼迎接光輝歲月風(fēng)雨中抱緊自由一生經(jīng)過彷徨的掙扎自信可改變未來問誰又能做到可否不分膚色的界限愿這土地里不分你我高低繽紛色彩閃出的美麗是因它沒有分開每種色彩年月把擁有變做失去疲倦的雙眼帶著期望今天只有殘留的軀殼迎接光輝歲月風(fēng)雨中抱緊自由一生經(jīng)過彷徨的掙扎自信可改變未來問誰又能做到今天只有殘留的軀殼迎接光輝歲月風(fēng)雨中抱緊自由一生經(jīng)過彷徨的掙扎自信可改變未來問誰又能做到今天只有殘留的軀殼迎接光輝歲月風(fēng)雨中抱緊自由一生經(jīng)過彷徨的掙扎自信可改變未來問誰又能做到今天只有殘留的軀殼迎接光輝歲月風(fēng)雨中抱緊自由一生經(jīng)過彷徨的掙扎自信可改變未來 '''
批量替換字符串內(nèi)容
問題描述
批量替換字符串內(nèi)容
-
x
:原始字符串 -
old
:要替換的內(nèi)容,可為 str , list -
new
:新內(nèi)容,可為 str , list , None -
strip
:是否刪除前后空格
不傳新內(nèi)容 new,則要替換的內(nèi)容 old 被刪掉。
解決方案
from itertools import zip_longest def replace(x, old, new=None, strip=False) -> str: '''批量替換字符串內(nèi)容 :param x: 原始字符串 :param old: 要替換的內(nèi)容,可為 `str` , `list` :param new: 新內(nèi)容,可為 `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
內(nèi)置方法
該方法只能一一對應(yīng)
s = '你好,今天怎么樣?挺好的.' table = s.maketrans(',.?', ',。?') print(s.translate(table)) # 你好,今天怎么樣?挺好的。
原文鏈接:https://blog.csdn.net/qq_30638831/article/details/81153011
相關(guān)推薦
- 2022-07-02 Python?matplotlib繪圖時指定圖像大小及放大圖像詳解_python
- 2023-06-20 一文徹底理清session、cookie、token的區(qū)別_相關(guān)技巧
- 2021-10-09 C#?將Excel轉(zhuǎn)為PDF時自定義表格紙張大小的代碼思路_C#教程
- 2022-08-02 詳解C++中遞增運算符重載的實現(xiàn)_C 語言
- 2022-09-13 Android實現(xiàn)縮放動畫_Android
- 2023-03-29 Pytorch損失函數(shù)torch.nn.NLLLoss()的使用_python
- 2023-02-05 Python?面向?qū)ο缶幊淘斀鈅python
- 2022-04-18 python字符串格式化(%格式符和format方式)_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支