Ruby on Rails uncapitalize первая буква
я запускаю Rails 2.3.2.
как сконвертировать "Cool"
до "cool"
? Я знаю "Cool".downcase
работает, но есть ли метод Ruby / Rails, который делает противоположное capitalize
, то есть,uncapitalize
или decapitalize
?
10 ответов
нет обратного capitalize
, но вы можете свободно свернуть свой собственный:
class String
def uncapitalize
self[0, 1].downcase + self[1..-1]
end
end
нет реального обратного капитализации, но я думаю underscore
приближается.
"CoolCat".underscore #=> "cool_cat"
"cool_cat".capitalize #=> "Cool_cat"
"cool_cat".camelize #=> "CoolCat"
Edit: underscore
, конечно, является обратным camelize
, а не capitalize
.
вы можете использовать tap (чтобы он помещался на одной строке):
"JonSkeet".tap { |e| e[0] = e[0].downcase } # => "jonSkeet"
Если вы используете рубиновые грани, вы можете записать в нижнем регистре первую букву:
https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/uppercase.rb
попробуй такое
'Cool'.sub(/^([A-Z])/) { .tr!('[A-Z]', '[a-z]') }
https://apidock.com/ruby/XSD/CodeGen/GenSupport/uncapitalize