小编典典

在ruby中将骆驼大小写转换为下划线大小写

all

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

我想要这样的东西:

"CamelCaseString".to_underscore

返回“camel_case_string”。


阅读 19

收藏
2022-05-13

共1个答案

小编典典

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"
2022-05-13