71

たとえば、str = 'abcdefg'cこの文字列でRubyを使用している場合、インデックスを見つけるにはどうすればよいですか?

4

3 に答える 3

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

strで指定された部分文字列またはパターン(regexp)が最初に出現するインデックスを返します。見つからない場合はnilを返します。2番目のパラメーターが存在する場合は、検索を開始する文字列内の位置を指定します。

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

詳細については、 rubyのドキュメントを確認してください。

于 2012-05-19T20:02:37.427 に答える
27

これを使用できます

"abcdefg".index('c')   #=> 2
于 2012-05-19T19:56:42.887 に答える
4
str="abcdef"

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

それが役に立てば幸い。:)

于 2012-05-19T20:50:18.097 に答える