英语句子以Camel为基础的方法名称

时间:2010-07-15 10:58:00

标签: ruby string camelcasing

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

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

我用过以下:

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

4 个答案:

答案 0 :(得分:3)

不确定它是否比你的解决方案更好,但它应该可以解决问题:

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

答案 1 :(得分:2)

"active_record".camelize(:lower)

输出:“activeRecord”

使用这些

答案 2 :(得分:1)

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

答案 3 :(得分:0)

您可以尝试使用http://english.rubyforge.org/

上提供的“英语”gem
require 'english/case'

a = "This is a test."

a.camelcase().uncapitalize() # => 'thisIsATest