本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。