曾在孤独一人的世界里生活过,感受过世界上最可怕的寒冷,所以即使在最炽烈的阳光中,都带着微微的凉意。
主要是使用字符串的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()方法。