[TOC=1,5] >[success] # 两种拆分 str.split和re.split ~~~ 1.字符串的split 只能处理简单的情况 2.正则的split 可以处理复杂或者自定制 ~~~ >[danger] ##### 简单的分割-str.split ~~~ line = "你好,这个是字符串的拆分演示" a = line.split(",") print(a) 打印结果: ['你好', '这个是字符串的拆分演示'] ~~~ >[success] # 灵活的自定制 >[danger] ##### re.split[] -- 不包含分割符 ~~~ 1.[]字符集,对单个字符给出取值范围 [abc]表示a、b、c,[a-z]表示a到z单个字符 2.()分组标记,内部只能用|操作符 (abc)表示abc,(abc|def)表示abc或def ~~~ 这里的分割是以正则匹配的元素作为分割,` re.split(r'[;,\s]\s*',line)` 以;,这些符合和\s* 组成的内容作为分割符 ~~~ import re line = "asdf fjdk; afed,asdf, foo" # 匹配任何不可见字符,包括空格、制表符、换页符等等 a = re.split(r'[;,\s]\s*',line) print(a) 打印结果: ['asdf', 'fjdk', 'afed', 'asdf', 'foo'] ~~~ >[danger] ##### re.split() -- 包含分割符 ~~~ 1.()分组标记,内部只能用|操作符 (abc)表示abc,(abc|def)表示 abc或def ~~~ ~~~ import re line = "asdf fjdk; afed,asdf, foo" # 包含分割符 a = re.split(r'(;|,|\s)\s*',line) print(a) 打印结果: ['asdf', ' ', 'fjdk', ';', 'afed', ',', 'asdf', ',', 'foo'] ~~~