The function STRING_FIND looks for a particular substring within a string and outputs the location (by index number) of said substring.
This function takes two strings as input: one to search through, and one to designate what to look for. It outputs the index number that indicates where in the first string the second string first appears. If the second string does not appear at any point in the first string, this function outputs -1.
STRING_FIND(string, search_string) -> index
- string (required, type: string)
- The string to search through.
- search_string (required, type: string)
- The string to search for.
- index (type: number)
- The index number indicating the location of the first character of the first instance of search_string to appear within string. Indexing begins at zero. An index value of -1 indicates no instances of search_string exist within string.
STRING_FIND("Where is the string?", "string") -> 13
If there are multiple instances of the search string within the base string, STRING_FIND outputs the location of the first. The following example searches for "strings" within the larger string "strings strings strings" and – because indexing begins at zero – outputs 0 to indicate that "strings" is the very first substring to appear within "strings strings strings":
STRING_FIND("strings strings strings", "strings") -> 0
The search executed by STRING_FIND is case sensitive; "Strings" with a capital S is not the same as the "strings" which is lowercase throughout. The following example takes input very nearly identical to the previous example, but the first character is capitalized, and so the first instance of "strings" starts not at the first character of "Strings strings strings: but at the ninth:
STRING_FIND("Strings strings strings", "strings") -> 8
The following example searches for the string "coconuts" within "This is a string". Nowhere in "This is a string" does the string "coconuts" appear, and so this function outputs -1:
STRING_FIND("This is a string", "coconuts") -> -1
STRING_FIND("This is a string", "") -> 0
For the sake of simplicity, the previous examples took hardcoded strings as input, but this does not need to be the case. Assume the last example has access to the following variables:
big_string = "This is a relatively big string"
little_string = "is"
The following example takes the contents of big_string and searches for the contents of little_string within them. The first appearance of "is" within "This is a relatively big string" begins at the third character – "is" is within "This" – and thus the index is 2:
STRING_FIND(big_string, little_string) -> 2