根据两个条件拆分句子

时间:2019-11-10 07:25:48

标签: java python

如果输入如下:

abc "def abc" mno pqr "est mnr"

输出应如下:

abc 
def abc
mno
pqr
est mnr

1 个答案:

答案 0 :(得分:0)

以下是使用re.findall的Python选项:

inp = 'abc "def abc" mno pqr "est mnr"'
parts = re.findall(r'(?<!\S)".*?"(?!\S)|\b\w+\b', inp)
parts = map(lambda x : re.sub(r'"(.*)"', '\\1', x), parts)
print(parts)

此打印:

['abc', 'def abc', 'mno', 'pqr', 'est mnr']

请注意,需要执行第二个map步骤才能从那些被引用的匹配项中删除双引号。