将字符串写成驼峰样式
优质
小牛编辑
133浏览
2023-12-01
请写一个字符串转成驼峰的方法?
例如:border-bottom-color -> borderBottomColor
解决
python解决方法:
def convert(one_string,space_character): #one_string:输入的字符串;space_character:字符串的间隔符,以其做为分隔标志
string_list = str(one_string).split(space_character) #将字符串转化为list
first = string_list[0].lower()
others = string_list[1:]
others_capital = [word.capitalize() for word in others] #str.capitalize():将字符串的首字母转化为大写
others_capital[0:0] = [first]
hump_string = ''.join(others_capital) #将list组合成为字符串,中间无连接符。
return hump_string
if __name__=='__main__':
print "the string is:ab-cd-ef"
print "convert to hump:"
print convert("ab-cd-ef","-")
欢迎补充其它语言的解决方法
racket解决方法 (racket 5.2.1)
#lang racket
; 定义字符串转换函数 train-to-camel
(define (train-to-camel train-str separator-char)
(let
[(splited-str (regexp-split separator-char train-str))] ; 把原始字符串用 '-' 分成多个单独的单词
(string-append
(first splited-str)
(apply
string-append
(map
string-titlecase
(rest splited-str))))))
; 调用字符串转换函数 train-to-camel
(train-to-camel "this-is-a-var" "-") ; 正常运行的情况下, 应输出 "thisIsAVar"
Ruby 解决方法
str.split('-').map{|x| x.capitalize}.join
str = 'border-bottom-color'
str.split('-').map{|x| x.capitalize}.join
# => "BorderBottomColor"