split函数用于根据正则表达式分隔字符,也就是说,将字符串中与模式匹配的子字符串都作为分隔符来分隔这个字符串。split函数返回一个列表形式的分隔结果,每一个列表元素都是分隔的子字符串。split函数的第1个参数是模式字符串,第2个参数是待分隔的字符串,如果待分隔的字符串非常大,可能并不希望对这个字符串永远使用模式字符串分隔下去,那么可以使用maxsplit关键词参数指定最大分隔次数。如果将split想象成用菜刀来切香肠,那么maxsplit的值就是最多切几刀。
[例 11.11] 本例演示了split函数的使用方法,包括maxsplit参数的使用。
import re
result = re.split(';','Bill;Mike;John')
print(result)
result = re.split(r'[,;.\s]+','a,b,,d,d;x c;d. e')
print(result)
result = re.split('[a-z]{3}-[0-9]{2}','testabc-4321productxyz-43abill')
print(result)
result = re.split('[a-z]{3}-[0-9]{2}','testabc-4321productxyz-43abill',maxsplit=1)
print(result)
输出结果:
['Bill', 'Mike', 'John']
['a', 'b', 'd', 'd', 'x', 'c', 'd', 'e']
['test', '21product', 'abill']
['test', '21productxyz-43abill']