gpt4 book ai didi

Python正则表达式,分割参数,忽略引号中的逗号

转载 作者:行者123 更新时间:2023-11-28 21:36:09 37 4
gpt4 key购买 nike

假设我有一行包含用 , 分割的参数

'0xe1b04048, FUTEX_WAIT, 0, NULL , "Hey, World, how, are, you"'

我想要 python 中的正则表达式将该序列拆分为包含项目的列表(为了清楚起见,逐行拆分一个项目)

[
'0xe1b04048',
'FUTEX_WAIT',
'0',
'NULL',
'"Hey, World, how, are, you"'
]

我尝试过使用负向前瞻来制作正则表达式,它至少可以处理注释中的一个逗号,我的计划是扩展它,但我什至没有做到这一点。呼唤re.split(r",\s(?!\".*,\s.*\")",args)

'0xe1b04048, FUTEX_WAIT, 0, NULL , "Hey, World"'

结果

[
'0xe1b04048',
'FUTEX_WAIT',
'0',
'NULL , "Hey',
'World"'
]

最佳答案

您可以将 csv 模块与 skipinitialspace=True 一起使用

例如:

import csv

with open(filename, "r") as infile:
reader = csv.reader(infile, delimiter=",", skipinitialspace=True)
for line in reader:
print([i.strip("'") for i in line])

输出:

['0xe1b04048', 'FUTEX_WAIT', '0', 'NULL ', 'Hey, World, how, are, you']

关于Python正则表达式,分割参数,忽略引号中的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51425084/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com