2015-07-20 66 views
1

比方说,我有firstnames和lastnames的字符串,它可以由两个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, ' ') 

得到的字符串应该是这样的:Brian Molko-Olsdal Stefan Olsdal-Molko

+2

请添加使用'预期的输出 –

+1

没有多大意义如果__name __ ==“__ __主”'如果所有的代码是if块内,你将不会被导入什么考虑没有什么有 –

回答

8

只需使用name.title()

In [166]: name = 'brian molko-olsdal stefan olsdal-molko' 
In [168]: name.title() 
Out[168]: 'Brian Molko-Olsdal Stefan Olsdal-Molko' 
+0

哇不错,我已经忘记了这一点:d – mirx

+0

不会'n1.title ()'给出完全相同的输出? –

+1

@PadraicCunningham - 是的:我对我的原始答案(编辑)过度思考。 – xnx