在 arduino 中拆分字符串-ag捕鱼王app官网

当前位置:ag捕鱼王app官网 > > 编程语言 > c >

在 arduino 中拆分字符串

作者:迹忆客 最近更新:2024/03/13 浏览次数:

本教程将讨论使用 arduino 中的 substring() 函数拆分字符串。


在 arduino 中使用 substring() 函数拆分字符串

arduino 提供了一个内置函数 substring() 来拆分给定的字符串。我们可以使用开始和结束索引值拆分字符串。

substring() 函数有两个参数。第一个参数是我们要开始拆分过程的起始索引值,第二个参数是拆分过程将停止的结束索引值。

语法:

sub_string = mystring.substring(from, to);

变量 sub_string 将包含 substring() 函数的输出,而 mystring 变量将包含我们要拆分的原始字符串。from 变量包含起始索引,to 变量包含结束索引。

让我们定义一个字符串并使用 substring() 函数将其拆分,然后将其打印在 arduino 的串行监视器上。

例子:

string my_s = "hello world";
void setup() { serial.begin(9600); }
void loop() {
  string sub_s = my_s.substring(0, 5);
  serial.println(sub_s);
  delay(1000);
}

输出:

hello

在上面的代码中,serial.println() 函数在 arduino 的串行监视器上打印结果。字符串拆分将从 0 开始,包括 0 索引字符,并在索引 5 结束,不包括索引 5 处的字符。

我们还可以使用 arduino 的 indexof() 函数找到字符索引。函数的索引接受两个参数。

第一个参数是强制性的,表示我们要查找其索引的字符或字符串。第二个参数是可选的,它表示查找字符索引的起始索引。

默认情况下,indexof() 函数从头开始搜索字符串以查找给定字符的索引,但我们也可以使用 indexof() 函数的第二个参数传递一个索引作为起点。

语法:

int index = mystring.indexof(val, from);

index 变量将存储 val 变量索引,该索引包含上述代码中的字符或字符串。from 变量定义了用作查找给定字符索引的起点的起始索引。

当我们不知道要传入 substring() 的字符索引时,我们使用 indexof() 函数。

例如,如果我们想使用空格字符作为结束索引来分割给定的字符串,我们可以使用 indexof() 函数找到空格字符的索引,然后在 substring() 函数中使用它拆分字符串。

如果在给定字符串中找不到索引,indexof() 函数将返回 -1。

例子:

string my_s = "hello world";
void setup() { serial.begin(9600); }
void loop() {
  int index = my_s.indexof(' ');
  string sub_s = my_s.substring(0, index);
  serial.println(index);
  serial.println(sub_s);
  delay(1000);
}

输出:

5
hello

在上面的代码中,变量 index 包含给定字符串中存在的空格字符的索引。如你所见,我们在串行监视器窗口上显示了索引和字符串拆分的结果。

我们还可以根据行数拆分字符串。

例如,如果一个字符串包含多行文本,我们想要拆分并将每一行作为一个单独的字符串。

我们可以使用 indexof('\n') 函数来查找新行的索引并相应地拆分给定的字符串。

indexof() 函数从给定字符串的开头开始搜索索引。但是,我们也可以使用 lastindexof() 函数,它从字符串末尾开始搜索索引。

作为第二个参数,我们还可以在 lastindexof() 函数中传递起始索引。例如,让我们拆分一个包含三行的字符串,获取最后一行,并将其显示在串行监视器窗口上。

例子:

string my_s = "hello world\ngreetings\npeople";
void setup() {
  serial.begin(9600);
  serial.println(my_s);
}
void loop() {
  int index = my_s.lastindexof('\n');
  int length = my_s.length();
  string sub_s = my_s.substring(index, length);
  serial.println(sub_s);
  delay(100000);
}

输出:

hello world
greetings
people
people

我们在上面的代码中使用了 lastindexof() 函数,因为我们只想获取给定字符串中存在的最后一行文本。前三行是输出中给定的字符串,第四行是字符串拆分的结果。

我们使用 length() 函数来获取给定字符串的长度,该长度将用作 substring() 中的结束索引值。我们使用 delay() 函数在代码执行中添加一些延迟,因为循环将重复该过程。

如果我们只想进行拆分,我们可以在 setup() 函数中编写代码,该函数只运行一次。

我们可以根据任何字符拆分字符串。我们只需要使用 indexof() 函数找到它的索引。

我们可以使用 substring() 函数拆分字符串。假设我们想分别获取给定字符串中的所有行。我们必须获取一行,将剩余的字符串保存在一个变量中,然后使用循环再次执行相同的操作,直到提取所有行。

上一篇:在 arduino 中比较字符串

下一篇:

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

arduino 中停止循环

发布时间:2024/03/13 浏览次数:444 分类:c

可以使用 exit(0),无限循环和 sleep_n0m1 库在 arduino 中停止循环。

arduino 复位

发布时间:2024/03/13 浏览次数:315 分类:c

可以通过使用复位按钮,softwarereset 库和 adafruit sleepydog 库来复位 arduino。

发布时间:2024/03/13 浏览次数:181 分类:c

可以使用简单的方法 toint()函数和 serial.parseint()函数将 char 转换为 int。

arduino 串口打印多个变量

发布时间:2024/03/13 浏览次数:381 分类:c

可以使用 serial.print()和 serial.println()函数在串口监视器上显示变量值。

arduino if 语句

发布时间:2024/03/13 浏览次数:123 分类:c

可以使用 if 语句检查 arduino 中的不同条件。

arduino icsp

发布时间:2024/03/13 浏览次数:214 分类:c

icsp 引脚用于两个 arduino 之间的通信以及对 arduino 引导加载程序进行编程。

发布时间:2024/03/13 浏览次数:151 分类:c

可以使用 arduino 中的循环制作计数器。

使用 c 编程 arduino

发布时间:2024/03/13 浏览次数:127 分类:c

本教程将讨论使用 arduino ide 在 c 中对 arduino 进行编程。

arduino 中的子程序

发布时间:2024/03/13 浏览次数:168 分类:c

可以通过在 arduino 中声明函数来处理子程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图