【问题标题】:English Sentence to Camel-cased method name英文句子到骆驼大小写的方法名称
【发布时间】:2010-07-15 10:58:00
【问题描述】:

我不得不将一系列句子转换成驼峰式的方法名称。我结束了为它写了一些东西。我仍然很好奇是否有更简单的东西。

给定字符串a = "This is a test." 输出thisIsATest

我用于以下:

a.downcase.gsub(/\s\w/){|b| b[-1,1].upcase }

【问题讨论】:

  • 您使用的是 Rails,还是只是普通的旧 Ruby 对象?

标签: ruby string camelcasing


【解决方案1】:

不确定作为您的解决方案是否更好,但应该可以解决问题:

>> "This is a test.".titleize.split(" ").join.camelize(:lower)
=> "thisIsATest."
  • titleize:每个单词的首字母大写
  • split(" ").join:为每个单词创建一个数组并加入以挤出空格
  • camelize(:lower):将首字母小写

您可以在 Rails 文档中找到更多有趣的功能:http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html

【讨论】:

  • 只能在 Rails 中工作,但最好能列出这些方法!
【解决方案2】:
"active_record".camelize(:lower)

输出:“活动记录”

使用这些

【讨论】:

    【解决方案3】:
    "Some string for you".gsub(/\s+/,'_').camelize(:lower) #=> "someStringForYou"
    
    1. gsub:用下划线替换空格
    2. camelize:类 java 方法 camelcase

    【讨论】:

      【解决方案4】:

      您可以尝试使用“英语” gem,网址为 http://english.rubyforge.org/

      require 'english/case'
      
      a = "This is a test."
      
      a.camelcase().uncapitalize() # => 'thisIsATest
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-28
        • 1970-01-01
        • 2020-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多