SINS

SINS is a CAOS command which searches within a string.

Usage
Syntax: SINS haystack (string) from (int) needle (string)

Searches for needle in haystack from the index from. Returns, as an integer, the index in haystack of the first instance of needle, or -1 if not found. You can then use SUBS to fetch relevant parts of the string.

String indices start at 1. This command is case sensitive. See LOWA and UPPA to convert case.

This is similar to the C function.

Example
SETS va00 "shush" OUTV SINS va00 1 "sh" 1 OUTV SINS va00 2 "sh" 4 OUTV SINS va00 5 "sh" -1

Implement SINS va00 va01 va02, placing the result in va03: SETV va03 -1 SETV va04 1 LOOP DOIF va04 ne STRL va02 DOIF CHAR va00 va01 eq CHAR va02 va04 DOIF va03 eq -1 SETV va03 va01 ENDI ADDV va04 1 ELSE SETV va04 1 SETV va03 -1 ENDI ENDI ADDV va01 1 UNTL va01 eq STRL va00
 * assume: STRL va02 le STRL va00; va01 gt 0 && va01 le STRL va00.