在 Arduino 中获取字符串中子字符串的第一次出现


Arduino 中的 **indexOf()** 函数从开头扫描字符串,并返回字符串中指定子字符串的第一个索引。语法如下:

语法

myString.indexOf(substr)

其中 **substr** 是要搜索的子字符串。它可以是 **字符** 或 **字符串** **类型**。

可以选择从不同的起始点开始搜索,在这种情况下,语法如下:

语法

myString.indexOf(substr, from)

其中 from 是搜索应开始的索引。此函数返回字符串中子字符串第一次出现的索引,如果未找到匹配项,则返回 -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.indexOf(substr1));
   Serial.println(s1.indexOf(substr2));
   Serial.println(s1.indexOf(substr1, 3));
}
void loop() {
   // put your main code here, to run repeatedly:
}

输出

串口监视器输出如下所示:

如您所见,在第一种情况下,打印了索引 1(计数从 0 开始)。在第二种情况下,由于未找到匹配项,因此打印了 -1。在第三种情况下,我们告诉 Arduino 从索引 3 开始搜索。因此,下一个匹配项在索引 4 处找到,并打印出来。

更新于:2021年5月29日

653 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告