0
我想分析一个字符串,它是逗号分隔的双引号字符串列表。起初(from pyparsing import *
后)我尝试这样做:在PyParsing中,从解析结果中删除所有引号
In [36]: expression = delimitedList(dblQuotedString, delim=",")
In [37]: expression.parseString('"foo","bar"')
Out[37]: (['"foo"', '"bar"'], {})
这会产生预期的比赛,但不删除引号。所以,我想增加一个addParseAction(removeQuotes)
:
In [34]: expression = delimitedList(dblQuotedString, delim=",").addParseAction(r
...: emoveQuotes)
In [35]: expression.parseString('"foo","bar"')
Out[35]: (['foo'], {})
这消除了对'foo'
的报价,但现在'bar'
结果丢失。我怎样才能表达这样的结果是(['foo', 'bar'], {})
?
使用'removeQuotes'解析动作正确的方法是将其附加到'dblQuotedString'表达,而不是'delimitedList':'表达式= delimitedList(dblQuotedString.addParseAction( removeQuotes),delim =“,”)'但是使用'QuotedString'也可以。 – PaulMcG