批量转化为驼峰格式(Camel)
Demo
#!/usr/bin/python3
# 用到的正则串讲解
# \s 指匹配: [ \t\n\r\f\v]
# A|B:表示匹配A串或B串
# re.sub(pattern, newchar, string):
# substitue代替,用newchar字符替代与pattern匹配的字符所有.
# title(): 转化为大写,例子:
# 'Hello world'.title() # 'Hello World'
# print(re.sub(r"\s|_|", "", "He llo_worl\td"))
#s = re.sub(r"(\s|_|-)+", " ",
# 'some_database_field_name').title().replace(" ", "")
#结果: SomeDatabaseFieldName
# 可以看到此时的第一个字符为大写,需要转化为小写
s = s[0].lower()+s[1:] # 最终结果
import re
'''
思路:
1.将 _ 空白 \t 等全部替换为空白
2.利用title将每个单词的首字母变为大写
3.利用replace将单词之间的空白去掉
4.将第一个单词的第一个字母小写化
'''
def camel(s):
s = re.sub(r"(\s|_|-)+", " ", s).title().replace(" ", "")
return s[0].lower() + s[1:]
# 批量转化
def batch_camel(slist):
return [camel(s) for s in slist]
s = batch_camel(['student_id', 'student\tname', 'student-add'])
print(s)
运行结果
知识点
- title()
- replace()
- lower()