我在尝试创建一个可以完成这项工作的函数时遇到了麻烦。目标是转换字符串,如
one
至One
hello_world
至HelloWorld
foo_bar_baz
至FooBarBaz
我知道正确的方法是使用re.sub
,但是我在创建正确的正则表达式来完成这项工作时遇到了麻烦。
你可以尝试这样的事情:
>>> s = 'one'
>>> filter(str.isalnum, s.title())
'One'
>>>
>>> s = 'hello_world'
>>> filter(str.isalnum, s.title())
'HelloWorld'
>>>
>>> s = 'foo_bar_baz'
>>> filter(str.isalnum, s.title())
'FooBarBaz'
相关文件:
找到解决方案:
def uppercase(name):
return ''.join(x for x in name.title() if not x.isspace()).replace('_', '')