在Arduino中获取子字符串的最后一次出现
就像indexOf()帮助识别字符串中子字符串的第一次出现一样,lastIndexOf()函数帮助识别最后一次出现。这是因为lastIndexOf()执行反向搜索,而indexOf()执行正向搜索。
语法
myString.lastIndexOf(substr)
其中substr是在myString中搜索的子字符串。它可以是字符或字符串。
就像indexOf()一样,此函数也接受可选的from参数,如果您希望反向搜索从特定索引开始。
语法
myString.lastIndexOf(substr, from)
与indexOf()一样,此函数要么返回字符串中子字符串的最后一个索引,要么在找不到匹配项时返回-1。
示例
下面的示例代码说明了所有这些要点:
void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println(); String s1 = "Mississippi"; String substr1 = "is"; String substr2 = "os"; Serial.println(s1.lastIndexOf(substr1)); Serial.println(s1.lastIndexOf(substr2)); Serial.println(s1.lastIndexOf(substr1, 3)); } void loop() { // put your main code here, to run repeatedly: }
输出
串口监视器输出如下所示:
如您所见,在第一种情况下,返回子字符串的最后一个索引(索引从0开始)。在第二种情况下,由于未找到匹配项,因此返回-1。在第三种情况下,因为我们要求Arduino从索引3开始反向扫描,所以返回下一个匹配项的索引。
广告