首页>Program>source

我需要解析名称/值对的字符串.这些值可以用引号引起来,以使它们的值可以包含分隔符.示例:

Path="/5E13F93E/5E142BAA" Ref="U4"  Part="1"

Funkier示例:

Path="/5E13F93E= 5E14 2BAA" Ref="U4"  Part="1"

在Python中有标准的方法吗? 我无法想象在2020年为此编写自己的字符级解析器,但是我无法立即在标准库中找到任何可以做到这一点的东西。

最新回答
  • 1月前
    1 #

    假设这应该是一系列的 POSIX变量分配,可以使用 shlex   模块:

    >>> import shlex
    >>> list(shlex.shlex('Path="/5E13F93E= 5E14 2BAA" Ref="U4"  Part="1"'))
    ['Path', '=', '"/5E13F93E= 5E14 2BAA"', 'Ref', '=', '"U4"', 'Part', '=', '"1"']
    

    您必须自己从值中删除外部引号,但这会有些棘手.引号很容易识别:如果值的第一个字符是 "   或 ' , 去掉它.但是,如果last值是引号,则需要检查它是否先转义(例如 foo=bar\"

  • settimeout:防止onbeforeunload函数暂停Javascript计时器
  • javascript:水平计算表格行单元格怎么样?