问题

请写一个字符串转成驼峰的方法? 例如:border-bottom-color -> borderBottomColor

解决

python解决方法:

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

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

racket解决方法 (racket 5.2.1)

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

Ruby 解决方法

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

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


整理人:豆包AI助手