Tester si la chaîne commence par ou se termine par une autre chaîne

91

Comment vérifier si une chaîne commence ou se termine par une chaîne donnée? Il ne semble pas y avoir de méthodes intégrées disponibles (ou peut-être que c'est juste l'IDE que j'utilise qui ne l'affiche pas: RDE)

MxLDevs
la source

Réponses:

169

Il existe des méthodes intégrées:

"String".start_with? "S" # true
"String".end_with? "4" # false
Will Richardson
la source
11
Je pense qu'ils doivent donner à ces fonctions des noms plus descriptifs. :)
Barmar
11
Que Dieu bénisse Matz et Ruby. Bien que, je pense qu'ils devraient être nommés starts_with?et ends_with?.
Joshua Pinter
5
@Josh Pinter start_with? est cohérent avec d'autres fonctions comme eql? et inclure? - Je pense que c'est une question "La chaîne commence-t-elle avec?" plutôt qu'une déclaration "La chaîne commence par"
DavidC
5
Très bien, mais si vous pensez à la façon dont vous l'utilisez réellement lors de l'écriture de code, c'est exactement comme votre dernière déclaration, à savoir"The string".starts_with?
Joshua Pinter
6
@DavidC Et pour les conditions, vous ne diriez jamais quelque chose comme "Si la chaîne commence par?", Vous diriez "Si la chaîne commence par?".
Joshua Pinter