Notre application extrait des noms de personnes utilisant Twitter pour se connecter.
Twitter fournit des noms complets dans une seule chaîne.
Exemples
1. "Froederick Frankenstien"
2. "Ludwig Van Beethoven"
3. "Anne Frank"
Je voudrais diviser la chaîne en seulement deux vars (first
et last
) en fonction du premier " "
(espace) trouvé.
Example First Name Last Name
1 Froederick Frankenstein
2 Ludwig Van Beethoven
3 Anne Frank
Je connais String#split
mais je ne sais pas comment diviser une seule fois. La réponse la plus Ruby-Way ™ (élégante) sera acceptée.
String # split prend un deuxième argument, la limite.
str.split(' ', 2)
devrait faire l'affaire.
"Ludwig Van Beethoven".split(' ', 2)
Le deuxième paramètre limite le nombre dans lequel vous souhaitez le diviser.
Vous pouvez également faire:
"Ludwig Van Beethoven".partition(" ")
Le deuxième argument de .split()
spécifie le nombre de divisions à faire:
'one two three four five'.split(' ', 2)
Et la sortie:
>> Ruby -e "print 'one two three four five'.split(' ', 2)"
>> ["one", "two three four five"]
Alternative:
first= s.match(" ").pre_match
rest = s.match(" ").post_match