问题

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

例如: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 @)