Extraire le dernier mot dans la phrase/string?
J'ai un tableau de chaînes de différentes longueurs et de matières.
Maintenant, je suis à la recherche d'un moyen facile pour extraire le dernier mot de chaque chaîne, sans savoir combien de temps ce mot est ou combien de temps la chaîne.
quelque chose comme;
array.each{|string| puts string.fetch(" ", last)
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner très bien
à exclure de la ponctuation,
delete
ilPour obtenir les "derniers mots" comme un tableau à partir d'un tableau vous
collect
"a string of words!".match(/(.*\s)*(.+)\Z/)[2] #=> 'words!'
prises à partir de la dernière espaces d'. Qui comprendrait les signes de ponctuation.D'extraire à partir d'un tableau de chaînes de caractères, utilisez-la avec de recueillir:
["a string of words", "Something to say?", "Try me!"].collect {|s| s.match(/(.*\s)*(.+)\Z/)[2] } #=> ["words", "say?", "me!"]
C'est le moyen le plus simple je pense.
Le problème avec l'ensemble de ces solutions est que vous ne considérant que les espaces pour la parole de séparation. En utilisant les regex vous pouvez capturer n'importe quel caractère non alphabétique comme un séparateur de mots. Voici ce que j'utilise: