I'm running Rails 2.3.2.
How do I convert "Cool" to "cool"? I know "Cool".downcase works, but is there a Ruby/Rails method that does the opposite of capitalize, i.e., uncapitalize or decapitalize?
I'm running Rails 2.3.2.
How do I convert "Cool" to "cool"? I know "Cool".downcase works, but is there a Ruby/Rails method that does the opposite of capitalize, i.e., uncapitalize or decapitalize?
 
    
     
    
    There is also:
"coolat_cat".camelize(:lower) # => "coolCat"
 
    
     
    
    There is no inverse of capitalize, but you can feel free to roll your own:
class String
  def uncapitalize 
    self[0, 1].downcase + self[1..-1]
  end
end
 
    
    You could also do this with a simple sub:
"Cool".sub(/^[A-Z]/) {|f| f.downcase }
 
    
    str = "Directly to the south"
str[0] = str[0].downcase
puts str
#=> "directly to the south"
 
    
    There is no real inverse of capitalize, but I think underscore comes close.
"CoolCat".underscore  #=> "cool_cat"
"cool_cat".capitalize #=> "Cool_cat"
"cool_cat".camelize   #=> "CoolCat"
Edit: underscore is of course the inverse of camelize, not capitalize.
 
    
    You can use tap (so that it fits on one line):
"JonSkeet".tap { |e| e[0] = e[0].downcase } # => "jonSkeet"
 
    
     
    
    There is an inverse of capitalize called swapcase:
"Cool Cat".swapcase   #=> "cOOL cAT"
 
    
    Starting from Rails 7.1, there is a String#downcase_first method:
Converts the first character to lowercase.
For example:
'If they enjoyed The Matrix'.downcase_first # => "if they enjoyed The Matrix"
'I'.downcase_first                          # => "i"
''.downcase_first                           # => ""
Sources:
 
    
    name = "Viru"
name = name.slice(0).downcase + name[1..(name.length)]
 
    
     
    
    Try this
'Cool'.sub(/^([A-Z])/) { $1.tr!('[A-Z]', '[a-z]') }
https://apidock.com/ruby/XSD/CodeGen/GenSupport/uncapitalize
 
    
    If you use Ruby Facets, you can lowercase the first letter:
https://github.com/rubyworks/facets/blob/master/lib/core/facets/string/uppercase.rb
