眉山东坡论坛

 找回密码
 注册账号

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 18755|回复: 1
收起左侧

[资料经验] Arduinio字符串处理函数实例整理

[复制链接]
发表于 2015-12-17 18:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转东坡论坛

您需要 登录 才可以下载或查看,没有帐号?注册账号

x
本帖最后由 hmke 于 2015-12-17 18:48 编辑

因编程需要陆续测试了些在Arduino中的字符串处理,因为太散,需要的时候总是再找来翻看,所以在这里把试过的函数贴子来,以备大家使用时查询:




  1. String a,b;
  2. byte c;
  3. int int_n;//int类型32768
  4. long long_n;//long范围2147483647
  5. void setup() {
  6.    Serial.begin(57600);
  7.    while (!Serial)  ; //只有leonardo这样等待,其他不用
  8.    Serial.println("Serial OK!");
  9. }


  10. void loop() {

  11.     a="alkDdsjFl";
  12.     int_n=a.toInt();      //转换为整数,如果字符串不是数字,则返回值为0,其他如toFloat( );
  13.     b=a.charAt(3);        //取第几个字符,由0开始算位置
  14.     int_n=a.indexOf("kd");    //查找(可字符串数组),未查到为-1
  15.     int_n=a.indexOf("kd",3);  //从第n位置开始查找字符串(可字符串数组),未查到为-1
  16.     int_n=a.lastIndexOf("kd");//和indexOf()一样,但是从字符串尾部开始???????????????
  17.     int_n=a.length();         //读取长度。其中[String]是指String型的数组char变量
  18.     b=a.substring(3);         //从2到结尾
  19.     b=a.substring(2,5);       //从2到第3个字符(不是取3个)
  20.     b=a;    b.concat("  aslfj  ");    //把后面字符串添加到本字符串一起(连接)
  21.     b+=" ffffff   ";            //同上也是连接字符串,字符串相加
  22.     a  = a + "   sdfgsdfg   "; //同上也是连接字符串,字符串相加
  23.     c=a.startsWith("a6k9");    //开始字符串 返回TRUE(1),否则0
  24.     c=a.endsWith("jf5l");      //结尾字符串 返回TRUE(1),否则0
  25.     int_n=a.compareTo("aFldfghsdfgsegsergdfl");//和字符串比较,相同则返回0,否则为其他数字
  26.     c=a.equals("alkd4sjfl");    //字符串完全相符1(TRUE)否则0
  27.     c=a.equalsIgnoreCase("alKDdsJfl");   //字符串完全相符1(TRUE)否则0,但是不限制大小写
  28.     c=a.endsWith("sj5fl");      //以字符串结尾1(TRUE)否则0
  29.     a.replace("l","6");         //用字符串6替换l
  30.     a.setCharAt(3,'9');       //把字符存储在给定的字符串的索引位置
  31.     a.toUpperCase();          //转大写
  32.     a.toLowerCase();          //转小写
  33.     a.trim();                 //去前后空格
  34.    
  35. b=a.substring(2,5);       //从2到第3个字符(不是取3个)
  36.     /*byte a=0xff;  c=bitRead(a,3); //此函数返回val数值右边第n位的二进制数字*/
  37.     Serial.println("a=(" + a + ")");
  38.     /* 以下内容未测试
  39.     Serial.parseInt(); //可以直接从串口输入窗接收整数,省去字符处理和转换过程,未测试??????????
  40.     a.getBytes(b,4);   //拷贝提供的字符长度到字节缓冲中,未测试??????????
  41.     toCharArray(buffer,len)—-从字符串0长度开始到给定的缓冲长度拷贝,未测试??????????
  42.         */
  43.     Serial.print("b=|");Serial.print(b);Serial.print("|");
  44.     //Serial.print(int_n);
  45.     //Serial.print(byte(c)); //以二进制形式将数字发送到串口-终于可以发送"0"了
  46.     //Serial.print(c,16); //在串口输出16进制(字符串格式输出),16可写成HEX,也可用2来输出二进制的数字
  47.     delay (9999999999);
  48. }




复制代码

发表于 2016-1-16 11:50 | 显示全部楼层
这个不错哈,自己试太麻烦了,百度里头还不容易找到这么齐全的
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|关于我们|小黑屋|爱好群|眉山东坡论坛 ( 蜀ICP备05001993号-1 )

GMT+8, 2018-1-20 10:55

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表