簡單介紹Python 如何擷取字元函式
導讀 | 這篇文章主要介紹了Python 如何擷取字元函式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教 |
如何擷取字元函式
在工作中我們經常會遇到某種情況需要擷取字串中某個特定標籤之間的內容(爬蟲可能用到的較多),適用於很多情況例如字串形式的xml報文、json格式的字串以及其它型別的字串。
因為我總結了有關字串擷取的兩個函式來記錄一下,以供參考。
# 方法一:簡單擷取不重複標籤中的內容 def substr(mystr, startStr, endChar): ''' 自定義字串擷取函式:只從字串中第一次遇見的內容 ''' startStr_len = len(startStr) start_index = mystr.index(startStr) end_index = mystr.index(endChar) return mystr[start_index+startStr_len:end_index] ''' a = 'abc111bcd abc222bcd' result = substr(a, 'abc', 'bcd') # result='111' ''' # 方法二:重複擷取標籤中的內容並將結果作為列表返回 def substr_to_list(mystr, startStr, endChar): '''自定義字串擷取函式''' result = [] position = 0 while True: # 因為index()函式如果沒有找到想要的內容會報異常ValueError try: startStr_len = len(startStr) endChar_len = len(endChar) start_index = mystr.index(startStr, position) end_index = mystr.index(endChar, position) position = end_index + endChar_len result.append(mystr[start_index+startStr_len:end_index]) except Exception as e: break return result ''' a = 'abc111bcd abc222bcd' result = substr(a, 'abc', 'bcd') # result=['111','222'] '''
效率方面就沒有考慮啦,畢竟都用python了還考慮什麼效率,哈哈!
擷取字串(字串切片)
字串
從本質上講,字串是由多個字元構成的,字元之間是有順序的,這個順序號就稱為索引(index)。Python 允許透過索引來操作字串中的單個或者多個字元,比如獲取指定索引處的字元,返回指定字元的索引值等。
獲取單個字元
知道字串名字以後,在方括號[ ]中使用索引即可訪問對應的字元,具體的語法格式為:
strname[index]
strname 表示字串名字,index 表示索引值。
Python 允許從字串的兩端使用索引:
- 當以字串的左端(字串的開頭)為起點時,索引是從 0 開始計數的;字串的第一個字元的索引為 0,第二個字元的索引為 1,第三個字串的索引為 2 ……
- 當以字串的右端(字串的末尾)為起點時,索引是從 -1 開始計數的;字串的倒數第一個字元的索引為 -1,倒數第二個字元的索引為 -2,倒數第三個字元的索引為 -3 ……
請看下面的例項演示:
url = ' #獲取索引為10的字元 print(url[10]) #獲取索引為 6 的字元 print(url[-6])
執行結果:
i y
獲取多個字元(字串截去/字串切片)
使用[ ]除了可以獲取單個字元外,還可以指定一個範圍來獲取多個字元,也就是一個子串或者片段,具體格式為:
strname[start : end : step]
對各個部分的說明:
【例項1】基本用法:
url = ' #獲取索引從7處到22(不包含22)的子串 print(url[7: 22]) # 輸出 zy #獲取索引從7處到-6的子串 print(url[7: -6]) # 輸出 zyit.org is very #獲取索引從-21到6的子串 print(url[-21: -6]) #從索引3開始,每隔4個字元取出一個字元,直到索引22為止 print(url[3: 22: 4])
執行結果:
c.biancheng.net c.biancheng.net c.biancheng.net pcaen
【例項2】高 級用法,start、end、step 三個引數都可以省略:
url = ' #獲取從索引5開始,直到末尾的子串 print(url[7: ]) #獲取從索引-21開始,直到末尾的子串 print(url[-21: ]) #從開頭擷取字串,直到索引22為止 print(url[: 22]) #每隔3個字元取出一個字元 print(url[:: 3])
執行結果:
c.biancheng.net/java/ c.biancheng.net/java/ hp/bne.ta/
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2945097/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 新版字元擷取函式字元函式
- javascript匿名函式簡單介紹JavaScript函式
- 簡單介紹python的input,print,eval函式Python函式
- 函式表示式和函式宣告簡單介紹函式
- javascript函式讀取變數作用域簡單介紹JavaScript函式變數
- 簡單介紹Python中的配對函式zip()Python函式
- python內建函式的簡單使用和介紹Python函式
- javascript call()函式用法簡單介紹JavaScript函式
- javascript trim()函式用法簡單介紹JavaScript函式
- getFullYear()函式用法簡單介紹函式
- document.close()函式簡單介紹函式
- js isPrototypeOf()函式用法簡單介紹JS函式
- javascript高階函式簡單介紹JavaScript函式
- jQuery建構函式簡單介紹jQuery函式
- javascript函式呼叫方式簡單介紹JavaScript函式
- text-overflow擷取字串簡單介紹字串
- js isNaN函式的用法簡單介紹JSNaN函式
- javascript定時器函式簡單介紹JavaScript定時器函式
- jQuery常用的動畫函式簡單介紹jQuery動畫函式
- jQuery的index()函式用法簡單介紹jQueryIndex函式
- javascript呼叫函式的方式簡單介紹JavaScript函式
- javascript匿名函式的使用簡單介紹JavaScript函式
- js eval()函式的用法簡單介紹JS函式
- js Date()建構函式簡單介紹JS函式
- js fromCharCode()函式用法簡單介紹JS函式
- js 函式作用域鏈簡單介紹JS函式
- 機器學習之簡單介紹啟用函式機器學習函式
- php字串擷取函式,支援中文擷取PHP字串函式
- HTML字元實體簡單介紹HTML字元
- 簡單介紹JS函式防抖和函式節流JS函式
- 正規表示式使用replace()函式簡單介紹函式
- js中匿名函式的使用簡單介紹JS函式
- js函式的length屬性簡單介紹JS函式
- javascript匿名函式的優點簡單介紹JavaScript函式
- Mysql字串擷取函式MySql字串函式
- 如何改變函式的執行上下文簡單介紹函式
- Python簡單介紹Python
- match函式簡單介紹以及與index函式結合應用函式Index