我试图从一个庞大的字符串中提取作者的名字和姓氏。一段字符串看起来像:
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 ;给出':你的安德斯',你'
这不是所需的结果。 有人可以帮忙吗?