《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换
生活随笔
收集整理的這篇文章主要介紹了
《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
字符串忽略大小寫的搜索替換
問題
你需要以忽略大小寫的方式搜索與替換文本字符串。
解法
為了在文本操作時忽略大小寫,你需要在使用 re 模塊的時候給這些操作提供 re.IGNORECASE 標志參數(shù)。比如:
>>> text = 'UPPER PYTHON, lower python, Mixed Python' >>> re.findall('python', text, flags=re.IGNORECASE) ['PYTHON', 'python', 'Python'] >>> re.sub('python', 'snake', text, flags=re.IGNORECASE) 'UPPER snake, lower snake, Mixed snake' >>>最后的那個例子揭示了一個小缺陷,替換字符串并不會自動跟被匹配字符串的大小寫保持一致。為了修復這個,你可能需要一個輔助函數(shù),就像下面的這樣:
def matchcase(word):def replace(m):text = m.group()if text.isupper():return word.upper()elif text.islower():return word.lower()elif text[0].isupper():return word.capitalize()else:return wordreturn replace下面是使用上述函數(shù)的方法:
>>> re.sub('python', matchcase('snake'), text, flags=re.IGNORECASE) 'UPPER SNAKE, lower snake, Mixed Snake' >>>討論
對于一般的忽略大小寫的匹配操作,簡單的傳遞一個 re.IGNORECASE 標志參數(shù)就已經(jīng)足夠了。
總結(jié)
以上是生活随笔為你收集整理的《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python(15)-window7配置
- 下一篇: 《Python Cookbook 3rd