当姓氏也用逗号分隔时如何分割用逗号分隔的名字

1 投票
1 回答
539 浏览
提问于 2025-04-16 14:21

我有一个数据库字段,内容是这样的:

AUX: Smith, J., Jones, M. & Ford, S.

这个字段里可以有从一个名字到最多15个名字,名字之间用逗号分开,最后一个名字前面用“&”连接。

我想把这些名字分开,变成一个列表,比如列表的第一个元素是Smith, J.,第二个元素是Jones, M.,依此类推。

1 个回答

3
def parseNames(namestr):
    namestr   = namestr.replace('&', ',')
    nameparts = [namepart.strip() for namepart in namestr.split(',')]
    it = iter(nameparts)
    return zip(it,it)    # return list of part-pairs

def nameStr(name, fmt="{lastname}, {firstname}"):
    return fmt.format(lastname=name[0], firstname=name[1])

names = [nameStr(name) for name in parseNames("Smith, J., Jones, M. & Ford, S")]
['Smith, J.', 'Jones, M.', 'Ford, S']

给你提供了

撰写回答