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


Ruby String.byteslice用法及代碼示例


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

用法

byteslice(index, length = 1) → string or nil
byteslice(range) → string or nil

返回 self 的子字符串,如果無法構造子字符串,則返回 nil

給定整數參數 indexlength,返回從給定 length 的給定 index 開始的子字符串(如果可能),如果 length 為負數或 index 超出範圍,則返回 nil self

s = '0123456789' # => "0123456789"
s.byteslice(2)   # => "2"
s.byteslice(200) # => nil
s.byteslice(4, 3)  # => "456"
s.byteslice(4, 30) # => "456789"
s.byteslice(4, -1) # => nil
s.byteslice(40, 2) # => nil

在上述任何一種情況下,如果 index 為負數,則從 self 的末尾倒數:

s = '0123456789'   # => "0123456789"
s.byteslice(-4)    # => "6"
s.byteslice(-4, 3) # => "678"

給定 Range 參數 range,返回 byteslice(range.begin, range.size)

s = '0123456789'    # => "0123456789"
s.byteslice(4..6)   # => "456"
s.byteslice(-6..-4) # => "456"
s.byteslice(5..2)   # => "" # range.size is zero.
s.byteslice(40..42) # => nil

在所有情況下,返回的字符串都具有與 self 相同的編碼:

s.encoding              # => #<Encoding:UTF-8>
s.byteslice(4).encoding # => #<Encoding:UTF-8>

相關用法


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