如何在Ruby中找到字符串中字符的索引?

时间:2012-05-19 19:52:18

标签: ruby string indexing

例如,str = 'abcdefg'。如何使用Ruby在此字符串中找到c的索引?

3 个答案:

答案 0 :(得分:95)

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

返回str中给定子字符串或模式(regexp)第一次出现的索引。如果找不到则返回nil。如果存在第二个参数,则它指定字符串中开始搜索的位置。

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

查看ruby documents了解详情。

答案 1 :(得分:24)

您可以使用此

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

答案 2 :(得分:3)

str="abcdef"

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

希望它有所帮助。 :)