1

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

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

我用于以下:

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

4 回答 4

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

于 2010-07-15T12:25:32.670 回答
2
"active_record".camelize(:lower)

输出:“活动记录”

使用这些

于 2010-07-15T11:04:08.220 回答
1
"Some string for you".gsub(/\s+/,'_').camelize(:lower) #=> "someStringForYou"
  1. gsub:用下划线替换空格
  2. camelize:类 java 方法 camelcase
于 2010-07-15T14:38:14.553 回答
0

您可以尝试使用http://english.rubyforge.org/上提供的“英语”gem

require 'english/case'

a = "This is a test."

a.camelcase().uncapitalize() # => 'thisIsATest
于 2010-07-19T03:20:59.117 回答