【问题标题】:How to convert string to UpperCamelCase in Ruby? [duplicate]如何在 Ruby 中将字符串转换为 UpperCamelCase? [复制]
【发布时间】:2016-05-31 09:09:17
【问题描述】:

我想在 Ruby 中将字符串转换为 CamelCase 风格。该问题也适用于带下划线的单词。

例如:

"human" => "Human"
"little_human" => "LittleHuman"

我该怎么做?

【问题讨论】:

    标签: ruby


    【解决方案1】:

    使用正则表达式:

    def camelize(str)
      str.gsub(/(^.)|(_.)/) { |l| l[-1].upcase }
    end
    

    【讨论】:

    • 返回Little_Human
    • 对不起,我的错。更新答案。
    • 如果您不介意全局变量,gsub(/(^|_)(.)/) { $2.upcase } 也可以使用。
    • 很好的重构,感谢@Stefan。
    【解决方案2】:

    在 rails 中有一个 camelize 方法。在 ruby​​ 中,您可以自己编写方法。类似的东西

    def camelize(s)
      s.downcase.split('_').map(&:capitalize).join
    end
    

    【讨论】:

    • 也像这样使用@Ursus "little_human".downcase.split("_").map(&:titleize).join => "LittleHuman"
    • @vijay13 这是一个纯红宝石解决方案,titleize 需要 Rails。
    猜你喜欢
    • 1970-01-01
    • 2011-05-03
    • 2014-11-10
    • 2014-08-05
    • 2020-09-18
    • 2013-06-06
    • 1970-01-01
    • 2019-06-17
    相关资源
    最近更新 更多