str.slice(start, length) â new_str or nil
str.slice(range) â new_str or nil
str.slice(regexp) â new_str or nil
str.slice(regexp, capture) â new_str or nil
str.slice(match_str) â new_str or nil
Element Reference â If passed a single index
, returns a
substring of one character at that index. If passed a start
index and a length
, returns a substring containing
length
characters starting at the index
. If
passed a range
, its beginning and end are interpreted as
offsets delimiting the substring to be returned.
In these three cases, if an index is negative, it is counted from the end
of the string. For the start
and range
cases the
starting index is just before a character and an index matching the
string's size. Additionally, an empty string is returned when the
starting index for a character range is at the end of the string.
Returns nil
if the initial index falls outside the string or
the length is negative.
If a Regexp
is supplied, the matching portion of the string is
returned. If a capture
follows the regular expression, which
may be a capture group index or name, follows the regular expression that
component of the MatchData is returned
instead.
If a match_str
is given, that string is returned if it occurs
in the string.
Returns nil
if the regular expression does not match or the
match string cannot be found.
a = "hello there" a[1] #=> "e" a[2, 3] #=> "llo" a[2..3] #=> "ll" a[-3, 2] #=> "er" a[7..-2] #=> "her" a[-4..-2] #=> "her" a[-2..-4] #=> "" a[11, 0] #=> "" a[11] #=> nil a[12, 0] #=> nil a[12..-1] #=> nil a[/[aeiou](.)\1/] #=> "ell" a[/[aeiou](.)\1/, 0] #=> "ell" a[/[aeiou](.)\1/, 1] #=> "l" a[/[aeiou](.)\1/, 2] #=> nil a[/(?<vowel>[aeiou])(?<non_vowel>[^aeiou])/, "non_vowel"] #=> "l" a[/(?<vowel>[aeiou])(?<non_vowel>[^aeiou])/, "vowel"] #=> "e" a["lo"] #=> "lo" a["bye"] #=> nil
Please login to continue.