In Cool§
See primary documentation in context for routine substr
sub substr(Str(Cool) $str, |c) method substr(|c)
Coerces the invocant (or in the sub form, the first argument) to Str
, and calls Str.substr with the arguments.
In Str§
See primary documentation in context for routine substr
multi substr(Str:D $s, $from, $chars? --> Str:D) multi substr(Str:D $s, Range $from-to --> Str:D) multi method substr(Str:D $s: $from, $chars? --> Str:D) multi method substr(Str:D $s: Range $from-to --> Str:D)
Returns a substring of the original string, between the indices specified by $from-to
's endpoints (coerced to Int
) or from index $from
and of length $chars
.
Both $from
and $chars
can be specified as Callable
, which will be invoked with the length of the original string and the returned value will be used as the value for the argument. If $from
or $chars
are not Callable
, they'll be coerced to Int
.
If $chars
is omitted or is larger than the available characters, the string from $from
until the end of the string is returned. If $from-to
's starting index or $from
is less than zero, X::OutOfRange
exception is thrown. The $from-to
's ending index is permitted to extend past the end of string, in which case it will be equivalent to the index of the last character.
say substr("Long string", 3..6); # OUTPUT: «g st» say substr("Long string", 6, 3); # OUTPUT: «tri» say substr("Long string", 6); # OUTPUT: «tring» say substr("Long string", 6, *-1); # OUTPUT: «trin» say substr("Long string", *-3, *-1); # OUTPUT: «in»
In Allomorph§
See primary documentation in context for method substr
method substr(Allomorph:D: |c)
Calls Str.substr
on the invocant's Str
value.