test d'une chaîne vide ou nulle [dupliqué]

Créé le 12 Dec 2022 - Mis à jour le 04 Jul 2023 - Créé par Fabien Berthoux - ruby-on-railsruby

Test d'une chaîne vide ou nulle est un problème commun lors de la programmation Ruby. La chaîne peut être vide ou nulle, mais cela peut affecter la logique de votre programme. Cela peut aussi être un problème lors de la vérification des types de données, car une chaîne vide ou nulle peut être considérée comme un type différent. Pour résoudre ce problème, il existe plusieurs méthodes. L'une d'elles consiste à utiliser la méthode String#empty? qui est fournie par Ruby. Elle retourne true si la chaîne est vide et false si elle n'est pas vide. Vous pouvez aussi utiliser la méthode nil? qui retourne true si la chaîne est nulle et false si elle n'est pas nulle.

# Exemple utilisant la méthode `empty?`

string = ""

if string.empty?
  puts "La chaîne est vide."
else
  puts "La chaîne n'est pas vide."
end

# Exemple utilisant la méthode `nil?`

string = nil

if string.nil?
  puts "La chaîne est nulle."
else
  puts "La chaîne n'est pas nulle."
end

Comment vérifier si une chaîne est égale à une autre chaîne ?


Vous pouvez utiliser la méthode String#== pour vérifier si une chaîne est égale à une autre chaîne. Cette méthode prend en paramètre l'autre chaîne et retourne true si les deux chaînes sont égales et false si elles ne le sont pas. C'est une méthode très utile pour la comparaison de chaînes.

# Exemple de comparaison de chaînes

string_1 = 'Ceci est une chaîne'
string_2 = 'Ceci est une autre chaîne'

if string_1 == string_2
  puts "Les chaînes sont égales."
else
  puts "Les chaînes ne sont pas égales."
end

Comment comparer deux chaînes de manière insensible à la casse ?


Vous pouvez utiliser la méthode String#casecmp pour comparer deux chaînes de manière insensible à la casse. Cette méthode prend en paramètre l'autre chaîne et retourne 0 si les deux chaînes sont égales, -1 si la première chaîne est plus petite que la seconde ou 1 si la première chaîne est plus grande que la seconde. C'est une méthode très utile pour la comparaison insensible à la casse de chaînes.

# Exemple de comparaison insensible à la casse de chaînes

string_1 = 'Ceci est une chaîne'
string_2 = 'ceci est une autre chaîne'

if string_1.casecmp(string_2) == 0
  puts "Les chaînes sont égales."
else
  puts "Les chaînes ne sont pas égales."
end

Comment convertir une chaîne en tableau ?


Vous pouvez utiliser la méthode String#split pour convertir une chaîne en tableau. Cette méthode prend en paramètre un séparateur et retourne un tableau contenant les sous-chaînes qui ont été séparées par le séparateur. C'est une méthode très utile pour découper une chaîne en plusieurs morceaux.

# Exemple de conversion de chaîne en tableau

string = "Ceci est une chaîne"

array = string.split(" ")

puts array
# ["Ceci", "est", "une", "chaîne"]

Comment convertir une chaîne en nombre ?


Vous pouvez utiliser la méthode String#to_i pour convertir une chaîne en nombre. Cette méthode prend en paramètre un nombre et retourne un entier correspondant à la chaîne. C'est une méthode très utile pour convertir une chaîne en nombre.

# Exemple de conversion de chaîne en nombre

string = "123"

number = string.to_i

puts number
# 123