使用python拆分姓氏,将" - "符号保持在适当的位置

mir*_*irx 1 python

假设我有一串firstnames和lastnames,它们可以由两个lastnames组成,例如:

brian molko-olsdal stefan olsdal-molko

我需要拆分姓氏,但是,我需要先将后一个大写,但我需要将' - '符号保持在合适的位置.现在,我有这样的事情:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

if __name__ == "__main__":


    def normalize(name, sign) :

        tmplist = []

        if name.find(sign) != -1 :
            tmp = name.split(sign)
            for t in tmp :
                t.lower()
            for t in tmp :
                t = t[0].upper() + t[1:]
                tmplist.append(t)

        return ' '.join(tmplist)

    n1 = 'brian molko-olsdal stefan olsdal-molko'

    print normalize(n1, '-')
    print normalize(n1, ' ')
Run Code Online (Sandbox Code Playgroud)

生成的字符串应如下所示: Brian Molko-Olsdal Stefan Olsdal-Molko

xnx*_*xnx 8

只需使用name.title():

In [166]: name = 'brian molko-olsdal stefan olsdal-molko'
In [168]: name.title()
Out[168]: 'Brian Molko-Olsdal Stefan Olsdal-Molko'
Run Code Online (Sandbox Code Playgroud)