ruby-on-rails - 在ruby中将 Camel 大小写转换为下划线大小写

标签 ruby-on-rails ruby string formatting case-conversion

有没有现成的函数可以将驼峰字符串转换为下划线分隔的字符串?

我想要这样的东西:

"CamelCaseString".to_underscore      

返回“camel_case_string”。

...

最佳答案

Rails' ActiveSupport 使用以下命令为字符串添加下划线:

class String
  def underscore
    self.gsub(/::/, '/').
    gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
    gsub(/([a-z\d])([A-Z])/,'\1_\2').
    tr("-", "_").
    downcase
  end
end

然后你可以做一些有趣的事情:

"CamelCase".underscore
=> "camel_case"

关于ruby-on-rails - 在ruby中将 Camel 大小写转换为下划线大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1509915/

相关文章:

java - 哪个被认为更好地获取数字的各个数字?除模或字符串 charAt?

java - 返回访问器方法的问题

ruby-on-rails - 设计:用户注销后如何使用 remember_me cookie?

ruby-on-rails - 我可以使用 ActiveRecord 范围作为实例方法吗?

ruby - 当它已经分配给某些东西时,你如何分配新的变量名? ruby

ruby-on-rails - 相对于 User 增加 1

Ruby:根据条件在彼此之间合并嵌套数组

ruby-on-rails - 如何在 Rails 4 中使用 2 个参数和环境运行此 rake 任务?

html - 使用下拉按钮和物化

java - 如何用字符分隔字符串?