str.split(sep,max)
字符串分割函数可以说是字符串里使用最频繁的几种函数之一,可以有效地将字符串分割。
>>> " a b c".split()
['a', 'b', 'c']
>>> " a b c ".split()
['a', 'b', 'c']
#split()中不填写sep时,默认空格或者连续的空格为分隔符
>>> "a,b,c".split(",",1)
['a', 'b,c']
#只分割一次
>>> "a,b,c".rsplit(",",1)
['a,b', 'c']
#rsplit为从右开始分割函数
re.split(pattern, string, maxsplit=0, flags=0)
对于pattern是匹配的模式串,string是待匹配的字符串,maxsplit最大分割数,flags为re.I,re.M,re.S等标签
import re
>>> re.split('(\d+)','av1afa4')
['av', '1', 'afa', '4', '']
#分割后加()保留分隔符
>>> re.split('(?:\d+)','av1afa4')
['av', 'afa', '']
#分割后不保留分隔符
>>> re.split('[;,\.]','afafaf,ads.ab;a')
['afafaf', 'ads', 'ab', 'a']
#多分隔符可以用[],符合分隔符即分割
对比
re.split常常用于复杂,且多个分隔符有较好的分割效果,且灵活度高。而split往往对于单分隔符操作容易,且原生字符串函数易于使用。