我相信这对于极客们来说是一件简单的事情:

假设我有一个字符串“ThisIsMyString”,我想使用 Ruby 将其格式化为“this_is_my_string”。

我怎么做?

马特

有帮助吗?

解决方案

如果您有权访问 ActiveSupport(如在 Rails 中,但可在外部使用),您可以使用 underscore 方法中的 偏转器模块.

"ClassName".underscore # => class_name

其他提示

类字符串    高清to_under_score       (GSUB(/ [A-Z]){| P | “_” + p.downcase})[1 ..- 1]    结束 端

“对MyTestCase” .to_under_score => “my_test_case”

http://www.ruby-forum.com/topic/113697# 265696个

红宝石刻面具有如下功能:执行此操作:字符串#下划线。这里的源的它

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

如果你从获得的的ActiveSupport 的的的的Rails 的项目,它是那样简单

require 'activesupport'
"ThisIsMyString".underscore
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top