问题是我得到的字符串如下:
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},
]