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