Как найти индекс символа в строке в Ruby?


например, str = 'abcdefg'. Как найти индекс, если c в этой строке с помощью Ruby?

3 53

3 ответа:

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

возвращает индекс первого вхождения данной подстроки или шаблона (regexp) в str. Возвращает nil, если не нашли. Если второй параметр присутствует, он указывает позицию в строке для начала поиска.

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

проверить документы Рубин для получения дополнительной информации.

вы можете использовать этот

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

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

надеюсь, что это помогает. :)