我在尝试创建可以完成这项工作的功能时遇到了麻烦。目标是转换像
这样的字符串one
至One
hello_world
至HelloWorld
foo_bar_baz
至FooBarBaz
我知道正确的方法是使用re.sub
,但我无法创建正确的正则表达式来完成这项工作。
答案 0 :(得分:5)
您可以尝试这样的事情:
>>> 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'
相关文档:
答案 1 :(得分:0)
找到解决方案:
def uppercase(name):
return ''.join(x for x in name.title() if not x.isspace()).replace('_', '')