问题

请写一个字符串转成驼峰的方法?

例如:border-bottom-color -> borderBottomColor

解决

python解决方法:

  1. def convert(one_string,space_character):#one_string:输入的字符串;space_character:字符串的间隔符,以其做为分隔标志
  2. string_list = str(one_string).split(space_character)#将字符串转化为list
  3. first = string_list[0].lower()
  4. others = string_list[1:]
  5. others_capital =[word.capitalize()for word in others]#str.capitalize():将字符串的首字母转化为大写
  6. others_capital[0:0]=[first]
  7. hump_string =''.join(others_capital)#将list组合成为字符串,中间无连接符。
  8. return hump_string
  9. if __name__=='__main__':
  10. print"the string is:ab-cd-ef"
  11. print"convert to hump:"
  12. print convert("ab-cd-ef","-")

欢迎补充其它语言的解决方法

racket解决方法 (racket 5.2.1)

  1. #lang racket
  2. ;定义字符串转换函数 train-to-camel
  3. (define (train-to-camel train-str separator-char)
  4. (let
  5. [(splited-str (regexp-split separator-char train-str))];把原始字符串用'-'分成多个单独的单词
  6. (string-append
  7. (first splited-str)
  8. (apply
  9. string-append
  10. (map
  11. string-titlecase
  12. (rest splited-str))))))
  13. ;调用字符串转换函数 train-to-camel
  14. (train-to-camel "this-is-a-var""-");正常运行的情况下,应输出"thisIsAVar"

Ruby 解决方法

  1. str.split('-').map{|x| x.capitalize}.join
  1. str ='border-bottom-color'
  2. str.split('-').map{|x| x.capitalize}.join
  3. # => "BorderBottomColor"

联系我:老齐 qiwsir#gmail.com (# to @)