`.index` is going to be the fastest because it is directly using NQP
ops which are built into the VM.
'abcdefg'.index('de'); # 3
If you want all of the indexes, use `.indices`
'abcdefabc'.indices('abc'); # 0, 6
`.index` will return `Nil` if it doesn't find anything, and `.indices`
will return an empty list.
'abc'.index('ZZ'); # Nil
'abc'.indices('ZZ'); # ()
To see the actual code implementing these (and other similar methods):
- .index:
https://github.com/rakudo/rakudo/blob/master/src/core/Str.pm6#L255-L284
- .indices:
https://github.com/rakudo/rakudo/blob/master/src/core/Str.pm6#L206-L252
- .contains:
https://github.com/rakudo/rakudo/blob/master/src/core/Str.pm6#L183-L203
- .rindex:
https://github.com/rakudo/rakudo/blob/master/src/core/Str.pm6#L294-L323
On Sat, Feb 2, 2019 at 5:13 AM ToddAndMargo via perl6-users
<[email protected]> wrote:
>
> Hi All,
>
> What is the fastest way to find the index of
> a sub string in a string?
>
> -T