Search in Strings
There are 3 ways to search in strings:
(1) To search whether a string contains another string, use functions like and ilike . like
is case sensitive and
ilike
is case insensitive.
a=`IBM`ibm`MSFT`Goog`YHOO`ORCL;
a ilike "%OO%";
// output
[0,0,0,1,1,0]
a like "%oo%"
// output
[0,0,0,1,0,0]
(2) To find the location of the first occurrence of a string in another string, use function strpos .
strpos("abcdefg","cd");
// output
2
strpos("abcdefg","d");
// output
3
strpos("abcdefg","ah");
// output
-1
(3) To find the location of the first occurrence of a string or a regular expression
pattern, use function regexFind. Compared with function
strpos, in
regexFind
we can search a regular expression pattern, and
we can also specify the starting position to search. To search a string in
another string without specifying the starting position to search, we should use
strpos
instead of regexFind
as the former
is faster.
regexFind("FB IBM FB IBM AMZN", `IBM, 7);
// output
10
regexFind("this subject has a submarine as subsequence", "\\b(sub)([^ ]*)");
// output
5
regexFind("this subject has a submarine as subsequence", "\\b(sub)([^ ]*)", 10);
// output
19