mirror of
https://github.com/ruby/ruby.git
synced 2026-01-26 20:19:19 +00:00
43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
Returns the integer position of the first substring that matches the given argument +pattern+,
|
||
or +nil+ if none found.
|
||
|
||
When +pattern+ is a string,
|
||
returns the index of the first matching substring in +self+:
|
||
|
||
'foo'.index('f') # => 0
|
||
'foo'.index('o') # => 1
|
||
'foo'.index('oo') # => 1
|
||
'foo'.index('ooo') # => nil
|
||
'тест'.index('с') # => 2 # Characters, not bytes.
|
||
'こんにちは'.index('ち') # => 3
|
||
|
||
When +pattern+ is a Regexp, returns the index of the first match in +self+:
|
||
|
||
'foo'.index(/o./) # => 1
|
||
'foo'.index(/.o/) # => 0
|
||
|
||
When +offset+ is non-negative, begins the search at position +offset+;
|
||
the returned index is relative to the beginning of +self+:
|
||
|
||
'bar'.index('r', 0) # => 2
|
||
'bar'.index('r', 1) # => 2
|
||
'bar'.index('r', 2) # => 2
|
||
'bar'.index('r', 3) # => nil
|
||
'bar'.index(/[r-z]/, 0) # => 2
|
||
'тест'.index('с', 1) # => 2
|
||
'тест'.index('с', 2) # => 2
|
||
'тест'.index('с', 3) # => nil # Offset in characters, not bytes.
|
||
'こんにちは'.index('ち', 2) # => 3
|
||
|
||
With negative integer argument +offset+, selects the search position by counting backward
|
||
from the end of +self+:
|
||
|
||
'foo'.index('o', -1) # => 2
|
||
'foo'.index('o', -2) # => 1
|
||
'foo'.index('o', -3) # => 1
|
||
'foo'.index('o', -4) # => nil
|
||
'foo'.index(/o./, -2) # => 1
|
||
'foo'.index(/.o/, -2) # => 1
|
||
|
||
Related: see {Querying}[rdoc-ref:String@Querying].
|