Comment diviser une chaîne délimitée en ruby et la convertir en tableau?

Créé le 09 Dec 2022 - Mis à jour le 04 Jul 2023 - Créé par Fabien Berthoux - arraysruby

Si vous voulez diviser une chaîne en Ruby et la convertir en tableau, vous pouvez utiliser la méthode split, qui divise une chaîne en un tableau de sous-chaînes, en fonction d'un délimiteur donné. Par exemple, la chaîne "Ruby, Rails, MySQL, HTML, CSS" peut être divisée en un tableau de cinq éléments en utilisant le délimiteur ",". La méthode split prend un argument facultatif nommé limite qui définit le nombre maximum de sous-chaînes à retourner. Si la limite n'est pas spécifiée, toutes les sous-chaînes seront retournées. La syntaxe pour diviser une chaîne en Ruby est la suivante:

string.split(delimiter, limit)

Par exemple, pour diviser la chaîne "Ruby, Rails, MySQL, HTML, CSS" en un tableau, vous pouvez utiliser la méthode split avec le délimiteur ",":

string = "Ruby, Rails, MySQL, HTML, CSS"

array = string.split(",")

puts array
# =>> ["Ruby", "Rails", "MySQL", "HTML", "CSS"]

Pourquoi la méthode split est-elle utile?

La méthode split est très utile lorsque vous avez besoin de diviser une chaîne en sous-chaînes et de les stocker dans un tableau. Les chaînes délimitées sont couramment utilisées pour stocker des données séparées par des caractères tels que des virgules, des points-virgules, etc. La méthode split vous permet de convertir ces chaînes en tableaux d'éléments, ce qui vous permet de les manipuler plus facilement. Par exemple, vous pouvez itérer sur un tableau pour afficher chaque élément ou rechercher un élément spécifique.


Quelle est la différence entre la méthode split et la méthode split!()?

La méthode split!() est une version modifiée de la méthode split qui modifie la chaîne d'origine en divisant la chaîne. Par exemple, si vous appelez la méthode split!() sur une chaîne, elle sera modifiée et les sous-chaînes seront retournées. La méthode split ne modifie pas la chaîne, mais retourne simplement un tableau de sous-chaînes. Vous devez donc choisir la méthode à utiliser en fonction de vos besoins.


Comment convertir une chaîne en tableau sans utiliser la méthode split?

Il existe plusieurs façons de convertir une chaîne en tableau sans utiliser la méthode split. Vous pouvez parcourir la chaîne et ajouter chaque caractère à un tableau à l'aide de la méthode push, ou vous pouvez créer un nouveau tableau à l'aide de la méthode each_char et ajouter chaque caractère à ce tableau. Vous pouvez également utiliser la méthode chars pour convertir une chaîne en un tableau de caractères. Voici un exemple de code qui montre comment convertir une chaîne en un tableau à l'aide de la méthode chars:

string = "Ruby, Rails, MySQL, HTML, CSS"

array = string.chars

puts array
# =>> ["R", "u", "b", "y", ",", " ", "R", "a", "i", "l", "s", ",", " ", "M", "y", "S", "Q", "L", ",", " ", "H", "T", "M", "L", ",", " ", "C", "S", "S"]

Comment ajouter des éléments à un tableau?

Vous pouvez ajouter des éléments à un tableau en Ruby en utilisant la méthode push ou la méthode <<<<. La méthode push prend un élément ou un tableau d'éléments en argument et ajoute ces éléments à la fin du tableau. La méthode <<<< fonctionne de la même manière, sauf qu'elle ajoute un seul élément à la fin du tableau. Voici un exemple de code qui montre comment ajouter un élément à un tableau à l'aide de la méthode push et de la méthode <<<<:

array = ["Ruby", "Rails", "MySQL", "HTML", "CSS"]

array.push("JavaScript")
# =>> ["Ruby", "Rails", "MySQL", "HTML", "CSS", "JavaScript"]

array <<<< "Go"
# =>> ["Ruby", "Rails", "MySQL", "HTML", "CSS", "JavaScript", "Go"]

Comment itérer sur un tableau pour afficher chaque élément?

Vous pouvez parcourir un tableau en Ruby en utilisant la méthode each ou la méthode each_with_index. La méthode each itère sur chaque élément du tableau et exécute un bloc de code pour chaque élément. La méthode each_with_index itère sur chaque élément du tableau et exécute un bloc de code pour chaque élément, en passant en plus l'index de l'élément. Voici un exemple de code qui montre comment itérer sur un tableau pour afficher chaque élément à l'aide de la méthode each:

array = ["Ruby", "Rails", "MySQL", "HTML", "CSS"]

array.each do |element|
  puts element
end

# =>> Ruby
#    Rails
#    MySQL
#    HTML
#    CSS