Ruby:
Mettre en majuscule une chaîne de caractères
Comment faire :
Ruby propose des méthodes directes pour la manipulation de chaînes de caractères, y compris pour la capitalisation :
# Méthode intégrée de Ruby
string = "hello WORLD"
capitalized_string = string.capitalize
puts capitalized_string # => "Hello world"
Très pratique.
La méthode .capitalize
de Ruby est pratique mais ne met en majuscule que la première lettre. Pour plus de contrôle ou pour capitaliser chaque mot d’une chaîne (connu sous le nom de casse de titre), vous pourriez vouloir utiliser la méthode titleize
de l’extension Rails ActiveSupport, ou l’implémenter vous-même :
# Utilisation de 'titleize' de ActiveSupport dans Rails
require 'active_support/core_ext/string/inflections'
string = "hello world"
puts string.titleize # => "Hello World"
# Une solution maison
string = "hello world"
capitalized_each_word = string.split.map(&:capitalize).join(' ')
puts capitalized_each_word # => "Hello World"
Cette méthode divise la chaîne en un tableau de mots, met chaque mot en majuscule, puis les rejoint tous ensemble avec un espace.
Personnellement, je pousse cette idée beaucoup plus loin dans mon code. J’ai écrit ma propre méthode titleize
qui tient compte des petits mots comme “a” et “the”.