python如何使用replace做多字符替換
更新時間:2022年05月10日 10:31:27 作者:醉小義
這篇文章主要介紹了python如何使用replace做多字符替換,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
使用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 , listnew
:新內(nèi)容,可為 str , list , Nonestrip
:是否刪除前后空格
不傳新內(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)) # 你好,今天怎么樣?挺好的。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù)
在日常的Web開發(fā)中,處理表單數(shù)據(jù)是一個常見的任務(wù),而XML是一種常用的數(shù)據(jù)格式,用于在不同的系統(tǒng)之間傳遞和存儲數(shù)據(jù),本文通過闡述一個技術(shù)問題并給出解答的方式,介紹如何使用Python和正則表達(dá)式處理XML表單數(shù)據(jù),需要的朋友可以參考下2023-09-09七個生態(tài)系統(tǒng)核心庫[python自學(xué)收藏]
無論你是想快速入手Python,還是想成為數(shù)據(jù)分析大神或者機(jī)器學(xué)習(xí)大佬,亦或者對Python代碼進(jìn)行優(yōu)化,本文的python庫都能為你提供一些幫助2021-08-08python數(shù)據(jù)類型的詳細(xì)分析(附示例代碼)
這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)類型分析的相關(guān)資料,python里可以通過type()函數(shù)來查看數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09超詳細(xì),教你用python語言實現(xiàn)QQ機(jī)器人制作教程
這篇文章主要介紹了如何python語言實現(xiàn)QQ機(jī)器人,用圖文詳細(xì)的描述了其中的操作步驟,非常的簡單易上手,有需要的朋友可以參考下2021-08-08