请向我解释下面的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("示例名称")#=>范例名称
答案 0 :(得分:0)
输入到函数是字符串。


 isalnum()
:方法 isalnum()
检查是否string由字母数字字符组成。
.join()
:Python String join(),join()是一个字符串方法,它返回一个字符串与可迭代的元素连接
capitalize()
:它返回字符串的副本,只有第一个字符大写。
split()
:方法split()返回字符串中所有单词的列表。
了解上面的内容将返回给定输入字符串的输出

答案 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'