1. 程式人生 > >【Python】分割拆分文字字串

【Python】分割拆分文字字串

主要是使用字串的split()與正則的re.split()方法進行拆分。前者每次處理一種分隔符,後者一次性可以處理多個分割字元。

import sys
import re
reload(sys)
sys.setdefaultencoding('utf-8')
data_text='''
shuob1uShang,why,943586926isM1?
YEAH。SUre,iamis、now i am so boring
xianzais--hi2018-4-17,wozai shang hai jiading
say so&^me ?d-o some23thi^&ngs only for what
zhaohan only 00-//for\||you
ho[pe you\] zhao yi sun
we can 17
--*</html>
'''

使用split()方法

print data_text.split()
# 如果不加引數的話,預設是按照空白,空格,\t,\r,\n來分割
# 如果想要按照-來分割就直接在括號加上('-')

執行結果:

['shuob1uShang\xef\xbc\x8cwhy\xef\xbc\x8c943586926isM1?', 'YEAH\xe3\x80\x82SUre\xef\xbc\x8ciamis\xe3\x80\x81now', 'i', 'am', 'so', 'boring', 'xianzais--hi2018-4-17,wozai', 'shang', 'hai', 'jiading', 'say', 'so&^me', '?d-o', 'some23thi^&ngs', 'only', 'for', 'what', 'zhaohan', 'only', '00-//for\||you', 'ho[pe', 'you\\]', 'zhao', 'yi', 'sun', 'we', 'can', '17', '--*</html>']

注意返回的物件是一個列表,所以可以使用列表的索引,比如data_str.split(’-‘,2)[1]的意思就是按照-把字串分成兩部分,並且選擇索引為1的部分。

使用re.split()方法

print re.split('\d|]',data_text)
# 使用正則表示式進行切割,程式碼顯示按照數字和符號]進行分割

執行結果:

['\nshuob', 'uShang\xef\xbc\x8cwhy\xef\xbc\x8c', '', '', '', '', '', '', '', '', 'isM', '?\nYEAH\xe3\x80\x82SUre\xef\xbc\x8ciamis\xe3\x80\x81now i am so boring\nxian', 'zais--hi', '', '', '', '-', '-', '', ',wozai shang hai jiading\nsay so&^me ?d-o some', '', 'thi^&ngs only for what\nzhaohan only ', '', '-//for\||you\nho[pe you\\', ' zhao yi sun\nwe can ', '', '\n--*</html>\n']

如果使用re.split()進行切割的話,需要熟練使用正則表示式。

雖然使用正則的方法可以按照不同的分隔符號進行分割,但是在速度上要慢於字串的直接split()方法。

個人部落格:www.langzi.fun
歡迎交流Python開發,安全測試。