str index-of for strings

Returns start index of first occurrence of string in input, or -1 if no match.

Signature

> str index-of (string) ...rest --grapheme-clusters --utf-8-bytes --range --end

Parameters

  • string: the string to find in the input
  • ...rest: For a data structure input, search strings at the given cell paths, and replace with result
  • --grapheme-clusters (-g): count indexes using grapheme clusters (all visible chars have length 1)
  • --utf-8-bytes (-b): count indexes using UTF-8 bytes (default; non-ASCII chars have length 2+)
  • --range {any}: optional start and/or end index
  • --end (-e): search from the end of the input

Examples

Returns index of string in input

>  'my_library.rb' | str index-of '.rb'
10

Count length using grapheme clusters

> '🇯🇵ほげ ふが ぴよ' | str index-of -g 'ふが'
4

Returns index of string in input with start index

>  '.rb.rb' | str index-of '.rb' -r '1,'
3

Returns index of string in input with end index

>  '123456' | str index-of '6' -r ',4'
-1

Returns index of string in input with start and end index

>  '123456' | str index-of '3' -r '1,4'
2

Alternatively you can use this form

>  '123456' | str index-of '3' -r [1 4]
2

Returns index of string in input

>  '/this/is/some/path/file.txt' | str index-of '/' -e
18