日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换

發布時間:2023/12/13 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

字符串忽略大小寫的搜索替換

問題

你需要以忽略大小寫的方式搜索與替換文本字符串。

解法

為了在文本操作時忽略大小寫,你需要在使用 re 模塊的時候給這些操作提供 re.IGNORECASE 標志參數。比如:

>>> 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' >>>

最后的那個例子揭示了一個小缺陷,替換字符串并不會自動跟被匹配字符串的大小寫保持一致。為了修復這個,你可能需要一個輔助函數,就像下面的這樣:

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

下面是使用上述函數的方法:

>>> re.sub('python', matchcase('snake'), text, flags=re.IGNORECASE) 'UPPER SNAKE, lower snake, Mixed Snake' >>>

討論

對于一般的忽略大小寫的匹配操作,簡單的傳遞一個 re.IGNORECASE 標志參數就已經足夠了。

總結

以上是生活随笔為你收集整理的《Python Cookbook 3rd》笔记(2.6):字符串忽略大小写的搜索替换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。