无法使用 Rails' String#camelize 更改字符串

Can't change string with Rails' String#camelize

Ruby 不是我的常用语言,我正在努力让以下内容正常工作。

我只是在处理数组。

irb(main):54232:0> contact_data
=> ["3521", "xxxxxxxx@xxxxxx.com", "ADA JONES SMITH"]

irb(main):54226:0> contact_data[2].split.first.to_s.camelize
=> "ADA"

为什么?以及如何将字符串转换为 CamelCase?

谢谢。

使用downcase:

contact_data[2].split.first.to_s.downcase.camelize

另外 titleize 是对您的任务有用的方法。

2.1.2 :002 > "ADA".titleize
 => "Ada" 

问题是 contact_data[2].split.first 已经完全大写:"ADA",方法 String#camelize 适用于小写字符串。

你应该先把它变成小写:

contact_data[2].split.first.to_s.downcase.camelize