Python在两个关键字之间提取文本

时间:2016-10-17 21:24:25

标签: python string

我试图从一个庞大的字符串中提取作者的名字和姓氏。一段字符串看起来像:

x= " [{u'affiliation': [], u'given': u'Pradeep', u'family': u'Chhibber'}, {u'affiliation': [], u'given': u'Ken', u'family': u'Kollman'},{u'affiliation': [], u'given': u'anders', u'family': u'Aslund'}] "

我只需要给定和家庭的第一个值。在这种情况下应该是 Pradeep和Chhibber

这是我的代码。

def between(value, a, b):
# Find and validate before-part.
    pos_a = value.find(a)
    if pos_a == -1: return ""
    # Find and validate after part.
    pos_b = value.rfind(b)
    if pos_b == -1: return ""
    # Return middle part.
    adjusted_pos_a = pos_a + len(a)
    if adjusted_pos_a >= pos_b: return ""
    return value[adjusted_pos_a:pos_b]

如果我这样做:

print between(x,"given","family")

我明白了:你们是普拉迪普,你们的家人':你们是“聪明的人”,“你们的关系':[],你&#39 ;给定':你好肯,'家庭':你' Kollman'},{u' affiliation':[],你&#39 ;给出':你的安德斯',你'

这不是所需的结果。 有人可以帮忙吗?

0 个答案:

没有答案