Arduino程序设计-把逗号分隔的文本拆分成组
发布于 2021-01-19 23:13
1、 描述
有一个字符串包含两段或者多段由逗号(或者其他任意分隔符)分割的数据。你想要分割字符串以便单独使用每个部分。
2、 程序示例
无需连接任何电子元件,直接将此代码上传到您的Arduino板子上,通过串口查看数据。
String text = "xiaohong,xiaoming,xiaohuang";//一个用逗号分隔的完整字符串
String message = text; //保存尚未分隔的原始文本
int commaposition; //字符串中逗号的位置
void setup()
{
Serial.begin(9600);
Serial.println(message);//串口打印原始字符串
do{
commaposition = message.indexOf(',');//找到字符串中逗号出现的位置
if(commaposition != -1)//如果能找到逗号
{
Serial.println(message.substring(0,commaposition)); //打印找到的逗号之前的文本
message = message.substring(commaposition+1,message.length()); //message变成去掉已打印的文本的剩余文本
}
else //如果没有找到逗号
{
if(message.length()>0) //message是否存在文本
{
Serial.println(message);//将改文本串口输出
}
}
}
while(commaposition >=0);//当逗号位置存在
}
void loop(){}
3、 实验现象
串口监视器:
xiaohong,xiaoming,xiaohuang
xiaohong
xiaoming
xiaohuang
4、 说明
该程序使用String函数从逗号之间提取文本。
commaposition = message.indexOf(',');
将变量commaposition设置到名为message的String中的第一个逗号的位置,(如果没有逗号,它会被设置为-1)。如果有一个逗号,substring函数用来打印字符串从开始到逗号位置的文本,但不包括逗号。在下面的这一行中,被打印的文本及其后面的逗号将会从message中除去:
message = message.substring(commaposition+1,message.length());
substring返回从commaposition+1开始(正好是第一个逗号后的位置)直到消息末尾的字符串。这将导致message仅含有第一个逗号之后的文本。这个操作一直重复,直到没有逗号被发现(commaposition等于-1)。
本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。
相关素材