Quelle est la meilleure façon de savoir si une chaîne commence par une autre en Ruby (sans rails)?
ruby
string
startswith
Guillaume Coté
la source
la source
Réponses:
[modifier] C'est quelque chose que je ne savais pas avant cette question:
start_with
prend plusieurs arguments.la source
start_with?
, mais l'IRM 1.9 le fait, tout comme Rails.String#start_with?
start_with?
. Je suppose que je l'ai tapé quand j'ai chargé irb pour l'essayer.starts_with?
, qui dans 1.8.7 et au-dessus est juste aliaséestart_with?
.Puisqu'il y a plusieurs méthodes présentées ici, je voulais savoir laquelle était la plus rapide. En utilisant Ruby 1.9.3p362:
Il semble donc que ce soit
start_with?
le plus rapide du peloton.Résultats mis à jour avec Ruby 2.2.2p95 et une machine plus récente:
la source
"FooBar".downcase.start_with?("foo")
.La méthode mentionnée par steenslag est laconique et compte tenu de la portée de la question, elle doit être considérée comme la bonne réponse. Cependant, il est également intéressant de savoir que cela peut être réalisé avec une expression régulière, qui, si vous n'êtes pas déjà familier avec Ruby, est une compétence importante à apprendre.
Jouez avec Rubular: http://rubular.com/
Mais dans ce cas, l'instruction ruby suivante retournera true si la chaîne de gauche commence par «abc». Le \ A dans le littéral regex à droite signifie «le début de la chaîne». Jouez avec rubular - il deviendra clair comment les choses fonctionnent.
la source
J'aime
la source
[/\Astr/]
ici. Votre regex correspond également"another\nstring"
.