Python如何使用split()按含空白在内的多分隔符分割字符串
多分隔符字符串分割实现方案
Python 内置的str.split()不支持单次传入多个分隔符完成分割,要同时匹配逗号、空白字符、竖线|三类分隔符,直接使用标准库re的正则分割功能即可,实现步骤如下:
- 导入正则标准库
re - 编写正则匹配规则
[,|\s]+:该规则会匹配1个及以上连续的逗号、竖线、任意空白字符(包含普通空格、制表符、换行符等),即使多个分隔符连续出现,也不会分割出多余的空字符串元素 - 调用
re.split()传入规则和待分割字符串即可得到目标结果
完整可运行代码:
import re str1 = "HSQCV,feedback.fetch(stat[c[i]]) 3453 54f|note" result = re.split(r'[,|\s]+', str1) print(result)
执行代码后输出结果完全匹配预期:
['HSQCV', 'feedback.fetch(stat[c[i]])', '3453', '54f', 'note']
注意:正则字符串前要加
r标记为原始字符串,避免Python字符串转义机制干扰正则规则的解析。
内容的提问来源于stack exchange,提问作者vishnus
相关产品推荐
相关产品推荐

