Arduino 字符串的常用方法

Arduino 字符串的常用方法

全文引用CSDN博主「Linias」的文章内容,仅供个人记录学习
link.

Arduino中处理字符串的常用函数:

charAt(n)----返回字符串中第n个字符

compareTo(S2)----和给的S2字符串比较

concat(S2)----返回字符串和字符串S2合并后的新字符串

endsWith(S2)----如果字符串是以S2结尾的就返回TRUE

equals(S2)----如果字符串和S2完全相符,就返回TRUE

equalsIgnoreCase(S2)----和equal一样,但是不限制大小写

getBytes(buffer,len)----拷贝提供的字符长度到字节缓冲中

indexOf(S)----返回提供的字符串的索引,如果没有就返回-1

lastIndexOf(S)----和indexOf()一样,但是从字符串尾部开始

length()----返回字符串中的字符数

replace(A,B)----用字符串B替换A

setCharAt(index,c)----把c存储在给定的字符串的索引位置

startsWith(S2)----如果字符串以S2开始就返回TRUE

substring(index)----返回一个从给定索引到结尾的新的字符串

substring(index,to)----同上,但是到给定的to为结束的新的字符串

toCharArray(buffer,len)----从字符串0长度开始到给定的缓冲长度拷贝

toInt()----返回字符串中数字为整数值

toLowerCase()----把字符串全部转化为小写

toUpperCase()----把字符串全部转化为大写

trim()----返回一个去前后空格的字符串

示例一:保存字符串特定有效位

arduino如何串口接收以特定字符为开头的字符串并且保存特定字符之后的有效位。如串口输入a11,判断字符串第一个字符为a,若为a则保存之后的数值11到comdata。

String inString = ""; // string to hold input
int comdata;
 
 
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
 
 
void loop() {
// put your main code here, to run repeatedly:
  while (Serial.available() > 0) {
      int inChar = Serial.read();
        if ((char)inChar == 'a') {
         do {
             inChar = Serial.read();
             inString += (char)inChar;
                  }
        while (isDigit(inChar));
              comdata=inString.toInt();
         Serial.println(comdata);
         inString = "";
                 }
          }
        inString = "";
     delay(200);
}

示例二:字符串处理 - 分离字符串
这里用到了Arduino中带的substring( )方法 与java中的类似

/*
将用逗号分隔的字符串分离出来
*/
 
String  message= "A,B,C"; //要分离的字符串
 
int commaPosition;//存储还没有分离出来的字符串  
 
void setup()
 
{
 
  Serial.begin(9600);//打开串口,设置波特率为9600
 
}
 
void loop()
 
{
 
  Serial.println(message);//串口打印要分离的字符串          
 
  do
 
  {
 
      commaPosition = message.indexOf(',');//检测字符串中的逗号
 
      if(commaPosition != -1)//如果有逗号存在就向下执行
 
      {
 
          Serial.println( message.substring(0,commaPosition));//打印出第一个逗号位置的字符串
 
          message = message.substring(commaPosition+1, message.length());//打印字符串,从当前位置+1开始
 
      }
 
      else
 
      { //找到最后一个逗号,如果后面还有文字,就打印出来 
 
         if(message.length() > 0)
 
           Serial.println(message);  
 
                                    
 
      }
 
   }
 
   while(commaPosition >=0);
 
   delay(5000);
 
}
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值