Python中的字符串替換操作示例
字符串的替換(interpolation), 可以使用string.Template, 也可以使用標(biāo)準(zhǔn)字符串的拼接.
string.Template標(biāo)示替換的字符, 使用"$"符號(hào), 或 在字符串內(nèi), 使用"${}"; 調(diào)用時(shí)使用string.substitute(dict)函數(shù).
標(biāo)準(zhǔn)字符串拼接, 使用"%()s"的符號(hào), 調(diào)用時(shí), 使用string%dict方法.
兩者都可以進(jìn)行字符的替換.
代碼:
# -*- coding: utf-8 -*- import string values = {'var' : 'foo'} tem = string.Template(''''' Variable : $var Escape : $$ Variable in text : ${var}iable ''') print 'TEMPLATE:', tem.substitute(values) str = ''''' Variable : %(var)s Escape : %% Variable in text : %(var)siable ''' print 'INTERPOLATION:', str%values
輸出:
TEMPLATE: Variable : foo Escape : $ Variable in text : fooiable INTERPOLATION: Variable : foo Escape : % Variable in text : fooiable
連續(xù)替換(replace)的正則表達(dá)式(re)
字符串連續(xù)替換, 可以連續(xù)使用replace, 也可以使用正則表達(dá)式.
正則表達(dá)式, 通過(guò)字典的樣式, key為待替換, value為替換成, 進(jìn)行一次替換即可.
代碼
# -*- coding: utf-8 -*- import re my_str = "(condition1) and --condition2--" print my_str.replace("condition1", "").replace("condition2", "text") rep = {"condition1": "", "condition2": "text"} rep = dict((re.escape(k), v) for k, v in rep.iteritems()) pattern = re.compile("|".join(rep.keys())) my_str = pattern.sub(lambda m: rep[re.escape(m.group(0))], my_str) print my_str
輸出:
() and --text-- () and --text--
相關(guān)文章
python+ffmpeg視頻并發(fā)直播壓力測(cè)試
這篇文章主要為大家詳細(xì)介紹了python+ffmpeg視頻并發(fā)直播壓力測(cè)試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03python中l(wèi)ogging庫(kù)的使用總結(jié)
Python的logging模塊提供了通用的日志系統(tǒng),可以方便第三方模塊或者是應(yīng)用使用,下面這篇文章主要給大家介紹了關(guān)于python中l(wèi)ogging庫(kù)使用的一些知識(shí)總結(jié),文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-10-10pytest官方文檔解讀Fixture?errors拋錯(cuò)解決
這篇文章主要為大家介紹了pytest官方文檔解讀Fixture?errors拋錯(cuò)后的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python基于SMTP協(xié)議實(shí)現(xiàn)發(fā)送郵件功能詳解
這篇文章主要介紹了Python基于SMTP協(xié)議實(shí)現(xiàn)發(fā)送郵件功能,結(jié)合實(shí)例形式分析了Python使用SMTP協(xié)議實(shí)現(xiàn)郵件發(fā)送的相關(guān)操作技巧,并總結(jié)分析了Python發(fā)送純文本郵件、郵件附件、圖片郵件等相關(guān)操作技巧,需要的朋友可以參考下2018-08-08python實(shí)現(xiàn)ipsec開(kāi)權(quán)限實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)ipsec開(kāi)權(quán)限的方法,彌補(bǔ)了windows自帶的命令行工具netsh ipsec static add filter不支持批量添加及添加重復(fù)規(guī)則的不足,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11Pytorch隨機(jī)數(shù)生成常用的4種方法匯總
隨機(jī)數(shù)廣泛應(yīng)用在科學(xué)研究,但是計(jì)算機(jī)無(wú)法產(chǎn)生真正的隨機(jī)數(shù),一般成為偽隨機(jī)數(shù),下面這篇文章主要給大家介紹了關(guān)于Pytorch隨機(jī)數(shù)生成常用的4種方法,需要的朋友可以參考下2023-05-05opencv3/C++ 平面對(duì)象識(shí)別&透視變換方式
今天小編就為大家分享一篇opencv3/C++ 平面對(duì)象識(shí)別&透視變換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12