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

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

我想要这样的东西:

"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"

https://stackoverflow.com/questions/1509915/

相关文章:

windows - 在 Windows 批处理脚本中格式化日期和时间

java - 如何在 Java 中打印带有 2 位小数的 float ?

c# - 如何使用 ToString() 格式化可为空的 DateTime?

c# - 如何在 .NET 中使用自定义格式对 TimeSpan 对象进行 String.Forma

java - 如何格式化带有前导零的Java字符串?

formatting - 如何更改 Visual Studio Code 中的缩进?

android - 在Android中设置TextView span的颜色

c# - 自定义数字格式字符串以始终显示符号

html - 从 XML 中的 html 格式的字符串资源设置 TextView 文本

c# - 格式化 XML 字符串以打印友好的 XML 字符串