字符串操作
字符串對象方法
#python內置的字符串函數
str.split() #根據指定的字符分隔字符串,返回一組分隔后列表
srt.strip() #去除空白符(包括換行符)
'-'.join(list) #將列表或元組里的字符串用‘-’拼接起來。
'a' in str #判斷字符串中是否包含'a'
str.index(',') #返回字符串所在的位置,如果找不到拋出異常
str.find(',') #返回字符串第一次出現的位置,如果找不到返回-1
str.rfind(',') #返回字符串最后一次出現的位置,如果找不到返回-1
str.count(',') #返加子串出現的次數
str.replace(',','') #將字符串中的','去除,如果第二個參數是指定的字符,則該函數變成替換模式
正則表達式
#正則表達式提供了一種靈活的在文本中搜索或匹配(通常比前者復雜)字符串模式的方式
#正則表達式,常稱作regex,是根據正則表達式語言編寫的字符串
#Python內置的re模塊負責對字符串應用正則表達式
#re模塊的函數可以分為三個大類:模式匹配、替換以及拆分。
import re
#'\s+',描述一個或多個空白符
#調用re.split('\s+',text)時,正則表達式會先被編譯,然后再在text上調用其split方法
#可以用re.compile自己編譯regex以得到一個可重用的regex對象
#如果打算對許多字符串應用同一條正則表達式,強烈建議通過re.compile創建regex對象,這樣將可以節省大量的cpu時間
re.split('\s+', text)
regex = re.compile('\s+')
regex.split(text)
regex.findall(text) #找到所有匹配正則表達式的文本,返回一個列表
regex.search(text) #返回文本中第一個匹配正則表達式的文本的起始和結束位置
regex.match(text) #只匹配在字符串開頭的文本
regex.sub(',',text) #將匹配到的文本替換為','
#如果不僅想找出文本,還想將文本分成多個部分,只需將待分段的模式的各部分用圓括號包起來即可
pattern = r'([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})'
regex = re.compile(pattern)
m = regex.match('wesm@bright.net')
m.groups()
('wesm','bright','net')