Ruby:
Capitalizando uma string
Como Fazer:
Ruby oferece métodos diretos para a manipulação de strings, incluindo capitalização:
# Método embutido do Ruby
string = "hello WORLD"
capitalized_string = string.capitalize
puts capitalized_string # => "Hello world"
Muito prático.
O método .capitalize
do Ruby é conveniente, mas só coloca em maiúscula a primeira letra. Para ter mais controle ou para capitalizar cada palavra em uma string (conhecido como caso de título), você pode querer usar o método titleize
da extensão ActiveSupport do Rails, ou implementá-lo por conta própria:
# Usando 'titleize' do ActiveSupport no Rails
require 'active_support/core_ext/string/inflections'
string = "hello world"
puts string.titleize # => "Hello World"
# Uma solução caseira
string = "hello world"
capitalized_each_word = string.split.map(&:capitalize).join(' ')
puts capitalized_each_word # => "Hello World"
Este método divide a string em um array de palavras, capitaliza cada uma, e depois as une novamente com um espaço.
Pessoalmente, eu levo essa ideia muito mais longe no meu código. Eu escrevi meu próprio método titleize
que leva em conta palavras pequenas como “a” e “the”.