如何标记引用的文本,保留原始字符串中令牌位置的信息?

时间:2012-03-02 09:12:23

标签: python parsing tokenize

问题是我得到的字符串如下:

str = 'one     two  "three and four" five   six'

我希望能够首先对此字符串进行标记。 使用shlex.split()可以很容易地做到这一点。

我遇到的问题是给定偏移量(字符串索引)我需要知道它是哪个标记以及它在哪里。 我能想到的最好的功能是,在返回实际令牌之上还会指定原始字符串中的起始和结束索引。

对于上面的str输出,可以预期类似于以下内容:

out = [
        {value: 'one', start: 0, end: 3},
        {value: 'two', start: 8, end: 11},
        {value: 'three and four', start: 13, end: 28},
        {value: 'five', start: 29, end: 33},
        {value: 'six', start: 36, end: 39},
      ]

0 个答案:

没有答案