搜索字符串
在DolphinDB中,有三种搜索字符串的方式:
-
使用 like 函数和 ilike 函数。like 函数和 ilike 函数的区别在于是否区分大小写。
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]
-
strpos 函数能够检查字符串中是否包含子字符串,如果是,则返回子字符串在原字符串中的起始位置。
strpos("abcdefg","cd"); // output 2 strpos("abcdefg","d"); // output 3 strpos("abcdefg","ah"); // output -1
-
regexFind 函数能够检查字符串中是否包含正则表达式表示的子字符串,如果是,则返回子字符串在原字符串中的起始位置。它与 strpos 函数的区别是,regexFind 函数可以使用正则表达式,并且能够指定开始搜索的位置。如果我们不需要指定开始搜索的位置,应该使用 strpos 函数,因为 strpos 函数的效率比 regexFind 函数高。
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