本文簡要介紹ruby語言中 String.rindex
的用法。
用法
rindex(substring, offset = self.length) → integer or nil
rindex(regexp, offset = self.length) → integer or nil
返回給定 substring
的 last
出現的整數索引,如果沒有找到,則返回 nil
:
'foo'.rindex('f') # => 0
'foo'.rindex('o') # => 2
'foo'.rindex('oo') # => 1
'foo'.rindex('ooo') # => nil
返回給定正則表達式 regexp
的 last
匹配的整數索引,如果沒有找到,則返回 nil
:
'foo'.rindex(/f/) # => 0
'foo'.rindex(/o/) # => 2
'foo'.rindex(/oo/) # => 1
'foo'.rindex(/ooo/) # => nil
last
匹配意味著從可能的最後一個位置開始,而不是最長匹配的最後一個。
'foo'.rindex(/o+/) # => 2
$~ #=> #<MatchData "o">
要獲得最後一個最長的匹配,需要結合否定的lookbehind。
'foo'.rindex(/(?<!o)o+/) # => 1
$~ #=> #<MatchData "oo">
或 String#index
帶有負前瞻。
'foo'.index(/o+(?!.*o)/) # => 1
$~ #=> #<MatchData "oo">
整數參數 offset
,如果給定且非負數,則指定
string to _end_ the search:
'foo'.rindex('o', 0) # => nil
'foo'.rindex('o', 1) # => 1
'foo'.rindex('o', 2) # => 2
'foo'.rindex('o', 3) # => 2
如果 offset
是負整數,則搜索到 end
的字符串中的最大起始位置是字符串長度和 offset
的總和:
'foo'.rindex('o', -1) # => 2
'foo'.rindex('o', -2) # => 1
'foo'.rindex('o', -3) # => nil
'foo'.rindex('o', -4) # => nil
相關: String#index
。
相關用法
- Ruby String.replace用法及代碼示例
- Ruby String.rpartition用法及代碼示例
- Ruby String.rjust用法及代碼示例
- Ruby String.rstrip!用法及代碼示例
- Ruby String.rstrip用法及代碼示例
- Ruby String.reverse用法及代碼示例
- Ruby String.reverse!用法及代碼示例
- Ruby String.match?用法及代碼示例
- Ruby String.unpack用法及代碼示例
- Ruby String.scan用法及代碼示例
- Ruby String.dump用法及代碼示例
- Ruby String.oct用法及代碼示例
- Ruby String.size用法及代碼示例
- Ruby String.scrub用法及代碼示例
- Ruby String.to_sym用法及代碼示例
- Ruby String.chop用法及代碼示例
- Ruby String.bytesize用法及代碼示例
- Ruby String.count用法及代碼示例
- Ruby String.string <=>用法及代碼示例
- Ruby String.ascii_only?用法及代碼示例
- Ruby String.downcase用法及代碼示例
- Ruby String.capitalize用法及代碼示例
- Ruby String.length用法及代碼示例
- Ruby String.lines用法及代碼示例
- Ruby String.unicode_normalize用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 String.rindex。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。