web-dev-qa-db-fra.com

Comment trouver l'index d'un caractère dans une chaîne en Ruby?

Par exemple, str = 'abcdefg'. Comment trouver l'index si c dans cette chaîne avec Ruby?

62
Orcris
index(substring [, offset]) → fixnum or nil
index(regexp [, offset]) → fixnum or nil

Retourne l'index de la première occurrence de la sous-chaîne ou du motif (regexp) donné dans str. Renvoie la valeur zéro s'il n'est pas trouvé. Si le deuxième paramètre est présent, il spécifie la position dans la chaîne pour commencer la recherche.

"hello".index('e')             #=> 1
"hello".index('lo')            #=> 3
"hello".index('a')             #=> nil
"hello".index(?e)              #=> 1
"hello".index(/[aeiou]/, -3)   #=> 4

Consultez documents Ruby pour plus d'informations.

98
kingasmk

Vous pouvez utiliser ceci

"abcdefg".index('c')   #=> 2
24
Mennan
str="abcdef"

str.index('c') #=> 2 #String matching approach
str=~/c/ #=> 2 #Regexp approach 
$~ #=> #<MatchData "c">

J'espère que ça aide. :)

3
kiddorails