Python中的split()
方法是字符串处理的利器,它能按指定分隔符将字符串拆分为列表,默认以空格分割且自动处理连续空白符。关键亮点包括:支持自定义分隔符、限制分割次数、处理空字符串陷阱,还能与join()
配合实现字符串重组。
-
基础用法
默认以空格/换行符等空白字符分割,自动合并连续空白符并忽略首尾空格:python复制
text = "Hello Python World" print(text.split()) # 输出:['Hello', 'Python', 'World']
-
指定分隔符
处理CSV或日志时,可指定逗号、竖线等分隔符:python复制
csv_data = "苹果,橘子,哈密瓜" print(csv_data.split(',')) # 输出:['苹果', '橘子', '哈密瓜']
注意:连续分隔符会产生空字符串,如
"a,,b".split(',')
返回['a', '', 'b']
。 -
限制分割次数
通过maxsplit
参数控制分割次数,剩余部分保留为整体:python复制
log = "错误:404 | 路径:/home | 时间:2025-05-06" print(log.split('|', 1)) # 输出:['错误:404 ', ' 路径:/home | 时间:2025-05-06']
-
进阶处理
- 空字符串过滤:用列表推导式剔除空值:
python复制
text = ",开头,中间,,结尾," clean_list = [x for x in text.split(',') if x] # 输出:['开头', '中间', '结尾']
- 多分隔符场景:结合
re.split()
处理复杂分隔符:python复制
import re text = "价格:¥199;折扣=50%" print(re.split(r'[:;=]', text)) # 输出:['价格', '¥199', '折扣', '50%']
- 空字符串过滤:用列表推导式剔除空值:
-
与其他方法协作
与join()
互逆操作,实现字符串拆分与重组:python复制
data = "A,B,C" parts = data.split(',') # 拆分:['A', 'B', 'C'] new_str = '-'.join(parts) # 重组:'A-B-C'
总结:掌握split()
的分隔符选择、次数限制及异常处理,能高效解析文本数据。结合正则表达式或列表推导式,可应对更复杂的分割需求。