2016-04-23 5 views
-1

Je suis en train de transformer cette chaînedécoupant une chaîne en un rubis tableau

"a,bc,c" 

dans ce tableau ..

["a", "b", "c"] 

Je l'ai utilisé sur la virgule divisée & itérés mais je aimerais trouver un moyen plus propre.

Merci!

+0

'" a, b, c ".split (", ")' ne résout pas? – psantos

+5

Veuillez préciser: pourquoi ne voulez-vous pas que le composant 'bc' de votre chaîne reste en tant que "bc"? Gardez-vous seulement des caractères uniques? On ne sait pas quelle est la spécification ici. –

+0

Que voulez-vous que la valeur de retour soit si la chaîne était '" a, bc, d "'? Et si c'était "aa, aaa, aa" '? Rarement pouvez-vous faire une question claire avec un seul exemple. Vous devez énoncer en mots ce que vous voulez accomplir. S'il vous plaît faites-le avec une modification, pas un commentaire. –

Répondre

2

nous allons ici, une option:

"a, bc,c".gsub(/\W+/, '').chars.uniq 

# Outputs: 
=> ["a", "b", "c"] 
+0

Génial, cela m'a vraiment aidé! –

3

Je vais utiliser la méthode #scan et #uniq.

"a, bc,c".scan(/[a-z]/).uniq 
# => ["a", "b", "c"]