11
votes

Diviser une chaîne en un éventail de nombres

ma chaîne: xxx

Comment cela peut-il devenir un tableau de nombres séparés comme: xxx


1 commentaires

Vous devriez juste donner la chaîne. Écrire des paramètres [: valeur] n'est pas pertinent pour la question et est trompeur.


3 Réponses :


37
votes
result = params[:value].split(/,/)
String#split is what you need

0 commentaires

14
votes

essayez Ceci :

arr = "07016,07023,07027".split(",")


0 commentaires

6
votes

Notez que ce que vous demandez n'est pas un éventail de nombres distincts, mais un tableau de chaînes qui ressemblent à des chiffres. Comme indiqué par d'autres, vous pouvez obtenir cela avec: xxx pré>

si vous vouliez réellement un tableau de chiffres (entiers), vous pouvez le faire comme suit: P>

arr = params[:value].split(',').map{ |s| s.to_i }

# Or, for Ruby 1.8.7+
arr = params[:value].split(',').map(&:to_i)

# Silly alternative
arr = []; params[:value].scan(/\d+/){ |s| arr << s.to_i }


0 commentaires