如何将含空格的字符串分割为指定格式的Python列表?
解决方案
可以使用正则表达式来提取符合要求的键值对,把每个以p开头的键及其关联的带空格的值作为整体保留。
代码实现
import re can = "p1=a b c p2=d e f g" new = re.findall(r'p\d+=[\w\s]+?(?=\sp\d+=|$)', can) print(new)
输出结果
['p1=a b c', 'p2=d e f g']
正则规则说明
p\d+: 匹配以p开头、后面跟一个或多个数字的键名(比如p1、p2)=:匹配键与值之间的分隔符[\w\s]+?: 非贪婪匹配字母、数字、下划线和空格,避免过度匹配到下一个键的内容(?=\sp\d+=|$): 正向预查,确定匹配的结束边界——要么是空格加下一个p开头的键,要么是字符串末尾
内容的提问来源于stack exchange,提问作者ivy
相关产品推荐
相关产品推荐

