You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中split()能否对同字符串多规则拆分并统一存入列表?

Python 多分隔符拆分字符串实现方法

Python 内置的 str.split() 方法仅支持传入单个分隔符(不传参数时默认按任意空白字符拆分),无法直接同时兼容逗号、空格、换行符多种拆分规则,你可以通过以下两种常用方案实现数字提取需求:

方案1:使用正则表达式 re.split()(推荐)

re 模块的 split() 方法支持传入正则规则匹配多类分隔符,适配性最高:

import re

num_list = []
with open("目标文件路径.txt", "r", encoding="utf-8") as f:
    file_content = f.read()
# 按逗号、空格、换行符拆分,过滤空串后转为整型
num_list = [int(item) for item in re.split(r'[,\s\n]', file_content) if item]

正则规则 [,\s\n] 会匹配所有逗号、空白字符、换行符,末尾的 if item 会过滤掉分隔符连续时产生的空字符串,避免出现类型转换错误。

方案2:统一替换分隔符后调用原生 split()

如果不想引入正则模块,可以先将所有分隔符替换为同一种,再调用原生方法拆分:

num_list = []
with open("目标文件路径.txt", "r", encoding="utf-8") as f:
    file_content = f.read()
# 依次将逗号、换行符替换为空格,再按空白字符拆分
file_content = file_content.replace(",", " ").replace("\n", " ")
num_list = [int(item) for item in file_content.split() if item]

原生 split() 不传参数时会自动按任意长度的空白字符拆分,自动忽略首尾空白,也可避免出现空元素。

方案对比

  • 方案1扩展成本低,后续新增其他分隔符仅需修改正则字符集即可,代码更简洁
  • 方案2无需引入额外模块,逻辑更直观,适合对正则语法不熟悉的场景

内容的提问来源于stack exchange,提问作者Anther Eros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:24:05