原创 Python實用技法第31篇:文本過濾和清理

問題 某些無聊的腳本小子在Web頁面表單中填入了“pýtĥöñ”這樣的文本,我們想以某種方式將其清理掉。 解決方案 文本過濾和清理所涵蓋的範圍非常廣泛,涉及文本解析和數據處理方面的問題。在非常簡單的層次上,我們可能會用基本的字符串函數(例如

原创 Python實用技法第32篇:對齊文本字符串

問題 我們需要以某種對齊方式將文本做格式化處理。 解決方案 對於基本的字符串對齊要求,可以使用字符串的ljust()、rjust()和center()方法。示例如下: >>> text = 'Hello World' >>> text.lj

原创 各種程序員正在使用的編輯器和IDE

關於編輯器和IDE的關係是包含與被包含的關係,IDE其實是一種特殊的編輯器,這種編輯器更能夠理解我們的語言,比如用phpstorm,我們能夠清楚的知道某個方法正在哪些地方被使用,還能夠自動補全我們的方法、進行語法提示、自動縮進、SVN和FT

原创 Python實用技法第33篇:字符串連接及合併

問題 我們想將許多小字符串合併成一個大的字符串。 解決方案 如果想要合併的字符串在一個序列或可迭代對象中,那麼將它們合併起來的最快方法就是使用join()方法。示例如下: >>> parts = ['Is', 'Chicago', 'Not

原创 Python實用技法第25篇:正則:以不區分大小寫的方式對文本做查找和替換

1、需求 我們需要以不區分大小寫的方式在文本中進行查找,可能還需要做替換。 2、解決方案 要進行不區分大小寫的文本操作,我們需要使用re模塊並且對各種操作都要加上re.IGNORECASE標記。 示例: import re text='

原创 Python實用技法第26篇:定義實現最短匹配的正則表達式

1、需求 我們正在嘗試用正則表達式對文本模式做匹配,但識別出來的是最長的可能匹配。相反,我們想將其修改爲最短的可能匹配。 2、解決方案 這個問題通常會在匹配的文本被一對開始和結束的分隔符包起來的時候出現(例如帶引號的字符串),爲了說明這

原创 Python實用技法第30篇:從字符串中去掉不需要的字符

問題 我們想在字符串的開始、結尾或中間去掉不需要的字符,比如說空格符。 解決方案 strip()方法可用來從字符串的開始和結尾處去掉字符。lstrip()和rstrip()可分別從左或從右側開始執行去除字符的操作。默認情況下這些方法去除的是

原创 Python實用技法第28篇:將Unicode文本統一表示爲規範形式

1、需求 我們正在同Unicode字符串打交道,但需要確保所有的字符串都擁有相同的底層表示。 2、解決方案 在Unicode中,有些特定的字符可以被表示成多種合法的代碼點序列。爲了說明這個問題,請看下面示例: str1='\u00f1'

原创 Python實用技法第29篇:用正則表達式處理Unicode字符

1、需求 我們正在使用正則表達式處理文本,但是需要考慮處理Unicode字符。 2、解決方案 默認情況下re模塊已經對某些Unicode字符類型有了基本的認識。例如,d已經可以匹配任意Unicode數字字符了: import re nu

原创 Python實用技法第27篇:編寫多行模式的正則表達式

1、需求 我們打算用正則表達式對一段文本塊做匹配,但是希望在進行匹配時能夠跨越多行。 2、解決方案 這個問題一般出現在希望使用句點(.)來匹配任意字符,但是忘記了句點並不能匹配換行符。 實例:假設向匹配C語言風格的註釋: import

原创 Python 實用技巧之正則表達式查找和替換文本的操作方法

這篇文章主要介紹了Python 實用技巧之正則表達式查找和替換文本的操作方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑑價值,需要的朋友可以參考下 1、需求 我們想對字符串中的文本做查找和替換。 2、

原创 正則表達式之文本模式的匹配和查找

這篇文章主要介紹了正則表達式之文本模式的匹配和查找操作方法,本文給大家介紹的非常詳細,具有一定的參考借鑑價值,需要的朋友可以參考下 1、需求 我們想要按照特定的文本模式進行匹配或查找。 2、解決方案 如果想要匹配的

原创 Python實用技法第19篇:將多個映射合併爲單個映射

1、需求 我們有多個字典或映射,想在邏輯上將它們合併爲一個單獨的映射結構,以此執行一些特定的操作,比如查找值或檢查鍵是否存在。 2、解決方案 假設有兩個字典: a={'x':1,'z':3} b={'y':2,'z':4} 現在假設想

原创 Python實用技法第17篇:將名稱映射到序列的元素中

1、需求 我們的代碼是通過位置(即索引或下標)來訪問列表會元組的,但有時候這會讓代碼變得有些難以閱讀。我們希望可以通過名稱來訪問元素,以此減少結構中對位置的依賴性。 2、解決方案 相比普通的元組,collections.namedtup

原创 Python實用技法第24篇:正則:查找和替換文本

1、需求 我們想對字符串中的文本做查找和替換。 2、解決方案 對於簡單的文本模式,使用str.replace()即可。 例如: text='mark ,帥哥,18,183 帥,mark' print(text.replace('18',