Python筆記:pandas之字串操作方法
阿新 • • 發佈:2021-07-07
字串操作
字串物件方法
#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('[email protected]') m.groups() ('wesm','bright','net')