Python:将任何格式的字符串转换为CamelCase

时间:2018-05-20 17:32:24

标签: python regex camelcasing

请向我解释下面的Python代码。这个答案适用于在CodeWars上提交,我希望帮助理解它的来龙去脉。这个计划的每一步都发生了什么?

from re import split

def camelize(string):
    return ''.join(a.capitalize() for a in split('([^a-zA-Z0-9])', string)
       if a.isalnum())

这是一个测试示例:
camelize("示例名称")#=>范例名称

2 个答案:

答案 0 :(得分:0)

输入到函数是字符串。





isalnum():方法 isalnum()检查是否string由字母数字字符组成。





.join():Python String join(),join()是一个字符串方法,它返回一个字符串与可迭代的元素连接





capitalize():它返回字符串的副本,只有第一个字符大写。





split():方法split()返回字符串中所有单词的列表。


&# xA;

了解上面的内容将返回给定输入字符串的输出




答案 1 :(得分:0)

camelize函数将接收字符串string,并将其分成连续的字母数字字符串

split('([^a-zA-Z0-9])', "example name") # => ['example', ' ', 'name']

拆分结果的每个字符串都将大写

[a.capitalize() for a in ['example', ' ', 'name']] # => ['Example', ' ', 'Name']

将使用isalnum()条件进行过滤,该条件检查字符串是否仅包含字母数字字符(删除数组的空格元素)

[a.capitalize() for a in ['example', ' ', 'name'] if a.isalnum()] # => ['Example', 'Name']

然后将使用分隔符''(空字符串)加入。

''.join(a.capitalize() for a in ['example', ' ', 'name'] if a.isalnum()) # => 'ExampleName'