48 votes

Déterminer si un tableau de chaînes de caractères contient une certaine sous-chaîne en ruby

J'ai une question simple sur Ruby. J'ai un tableau de chaînes de caractères. J'aimerais déterminer si ce tableau contient une sous-chaîne de l'une des chaînes. Par exemple

a = ['cat','dog','elephant']
a.to_s.include?('ele')

Est-ce la meilleure façon de procéder ?

Gracias.

89voto

Shadwell Points 14102

a.any? devrait faire l'affaire.

> a = ['cat','dog','elephant']
=> ["cat", "dog", "elephant"]
> a.any? { |s| s.include?('ele') }
=> true
> a.any? { |s| s.include?('nope') }
=> false

14voto

Piyush Awasthi Points 279

Voici un autre moyen : si vous voulez obtenir l'élément de chaîne affecté.

>  a = ['cat','dog','elephant']
=> ["cat", "dog", "elephant"]
> a.grep(/ele/)
=> ["elephant"]

si vous ne voulez que la valeur booléenne.

> a.grep(/ele/).empty?
=> false # it return false due to value is present

J'espère que cela vous sera utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X