當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby String.rpartition用法及代碼示例


本文簡要介紹ruby語言中 String.rpartition 的用法。

用法

rpartition(sep) → [head, sep, tail]
rpartition(regexp) → [head, match, tail]

從字符串末尾開始搜索字符串中的sep 或模式(regexp),並返回它之前的部分、匹配項和它之後的部分。如果未找到,則返回兩個空字符串和 str

"hello".rpartition("l")         #=> ["hel", "l", "o"]
"hello".rpartition("x")         #=> ["", "", "hello"]
"hello".rpartition(/.l/)        #=> ["he", "ll", "o"]

從最後開始的匹配意味著從可能的最後一個位置開始,而不是最長匹配中的最後一個。

"hello".rpartition(/l+/)        #=> ["hel", "l", "o"]

要在最後一個最長的匹配處進行分區,需要結合否定的lookbehind。

"hello".rpartition(/(?<!l)l+/)  #=> ["he", "ll", "o"]

String#partition 帶有負前瞻。

"hello".partition(/l+(?!.*l)/)  #=> ["he", "ll", "o"]

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 String.rpartition。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。