Arduino String.h库函数详解

 

此库中包含
1 charAT()
2 compareTo()
3 concat()
4 endsWith()
5 equals()
6 equalslgnoreCase()
7 getBytes()
8 indexOf()
9 lastlndexOf()
10 length()
11 replace()
12 setCharAt()
13 startsWith()
14 substring()
15 toCharArray()
16 toInt()
17 toLowerCase()
18 toUpperCase()
19 trim()

charAT(n)

描述
获取字符串的第n个字符

参数
n :是一个索引,作为下标

str1.compareTo(str2)

描述
compareTo函数是比较两个字符串,相同返回两个字符串当前比较字符串的差值。前-后

参数
str1 : 第一个字符串
str2 : 第二个字符串

返回
compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度

str1.concat(str2)

描述
字符串拼接,其实在C++语言中字符串拼接可以直接让前字符串+后字符串

参数
str1 : 第一个字符串
str2 : 第二个字符串

返回
无返回值,拼接好的字符串在str1中

str1.endsWith(str2)

描述
字符串尾部判断对比,判断str1尾部是否是字符串str2,当然你也可以用它来判断'\n'

参数
str1 : 第一个字符串
str2 : 第二个字符串

返回
布尔类型

str1.equals(str2)

描述
判断字符串是否相等

参数
str1 : 第一个字符串
str2 : 第二个字符串

返回值
布尔类型

str1.equalslgnoreCase(str2)

描述
判断字符串是否相等,忽略大小写

str1.getBytes(buf,len)

描述
字符串的复制,和和函数 toCharArray()功能非常相识。

参数
string1:原本的字符串
buf:要搬移的目的变量
len:字符串长度

indexOf()

描述
在字符串中选择特定的字符,并返回位置的功能函数(正向)。如果你想在一个很长的字符串中查找这个特别的关键字,可以使用这个函数。
string1.indexOf(val);
string1.indexOf(val,from);

参数
string1:原本的字符串
val:想要找的关键字,可以是char或 string 字符串。
from:选择性参数,你可以特别指定从那个位置开始寻找这个关键字。

返回值
成功返回位置,失败返回-1

lastlndexOf()

描述
和indexOf一样,只不过是反向查找

str1.length()

描述
测量字符串长度

参数
str1:被测字符串变量

返回值
字符串长度

replace()

描述
字符串替换,string1.replace(string2,string3)

参数
string1:原本的字符串。
string2:在字符串中欲被替换的字符串。
string3:要替换之后的新字符串。
  
返回值

setCharAt()

描述
字符替换,string1.setCharAt(i,charl)

参数
string1:原本的字符串。
i:字符串中欲被换掉的字符的位置。
charl:要替换的字符,注意只有一个字符,而不是字符串。

返回值

startsWith()

描述
判断字符串是否已某个特殊的字符串开始的,string1.startsWith(string2)

参数
string1:原本的字符串。
string2:判断是不是已这个字符串开始。

返回值
布尔代数,true 和 false

substring()

描述
用来截取字符串中间的某一位置。另外是决定那里结束,
string1.substring(from); //返回 from 之后的
string1.substring(from,to); //返回 from 和 to 之间的

参数
string1:原本的字符串
from:要截取的字符串从第几个字开始。
to:要截取后面的第几个字

返回值
字符串

toCharArray()

描述
把string拷贝char中,toCharArray函数是字符串处理中常用的一个函数,你可以把他当成string转char[]的转换函数,或者复制文字的函数,他的功能和getBytes()非常相似,toCharArray()函数转换后是呈现文字,而getBytes()函数转换后是呈现数字。
string1.toCharArray(buf,len);

参数
string:原本的字符串。
buf:指定的char[]的位置,注意char[]的空间,一定要等于或大于复制的大小,不然存储器和程序都会产生不可预期的问题。
len:要复制的字符串长度。  

返回值
要复制的字符串长度

toInt()

描述
字符串转成int
string1.toInt();

参数
string1:字符串,如"123"

返回值
整数,如 123

toLowerCase()

描述
把英文全部转换成小写

使用方式
str1.toLowerCase();

返回值

toUpperCase()

描述
把英文全部转换成大写

使用方式
str1.toUpperCase();

返回值

trim()

描述
自动清除字符串中最前面和最后面的空白数据。
string1.trim();

参数
string1:原本的字符串

返回值

arduino 字符解析的更多相关文章

  1. arduino json 解析

    #include <ArduinoJson.h> void setup() { Serial.begin(9600); DynamicJsonDocument jsonBuffer(200 ...

  2. 2.4 使用ARDUINO控制MC20进行GPS数据的获取和解析

    需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...

  3. 1000多块整个插板,arduino + android 蓝牙插板的实现--屌丝版

       需求描述 儿子有一堆充电玩具,基本上都是锂电池,经常插上去充电忘了到时拔下来,所以需要一块能设置接通时间的插板以保障电池的安全.   硬件设计: 首先需要一块插板,接着需要一个继电器,然后采用a ...

  4. js解析Json字符串的方法

      要把一个xml字符串转(“1,2,3,4,5,6,7,8,1,2”)换成数组的形式,每个值都应该是number类型的,想当然的就用了split方法,结果...问题来了,服务器要求数组的值是数字,而 ...

  5. boost.spirit之解析C++头文件

    环境:win7_64旗舰版,VS2008 场景:C++与lua交互是比较繁琐的,当我们编写一个C++类后,如果要给lua使用,就必须写一个lua包装类,将lua与原始C++类关联起来.其实这部分代码编 ...

  6. Log4j源码解析--Layout类解析

    本文转载上善若水的博客,原文出处:http://www.blogjava.net/DLevin/archive/2012/07/04/382131.html.感谢作者的分享. Layout负责将Log ...

  7. JavaScript:['1','2','3'].map(parseInt)问题解析

    最近碰到了['1','2','3'].map(parseInt)这种看似不起眼陷阱却极大的问题. 这乍一看,感觉应该会输出[1,2,3].但是,实际上并不是我们想的这样.你可以现在打开console, ...

  8. QT json字符串生成和解析

    1         QT json字符串生成和解析 1.1  QT Json解析流程 (1)  字符串转化为QJsonDocument QJsonParseError json_error; QJso ...

  9. cJONS序列化工具解读二(数据解析)

    cJSON数据解析 关于数据解析部分,其实这个解析就是个自动机,通过递归或者解析栈进行实现数据的解析 /* Utility to jump whitespace and cr/lf *///用于跳过a ...

随机推荐

  1. easyui datagrid-detailview 嵌套高度自适应

    实现效果 原因 异步加载,明细展开时,可能会遇到父列表不能自动适应子列表高度的变化 具体代码 $('#centerdatagrid').datagrid({ url:'${ctx}/offer/off ...

  2. 电脑无线WIFI怎么共享给手机

    点屏幕右下角的那个小电脑(网络)标志,里面有打开网络和共享中. 选左上角管理无线网络——选择添加. 选择创建临时网络——点击下一步——输入网络名称. 安全类型选择WEP——安全密钥为10位数字——然后 ...

  3. AE After Effect 渲染如何输出设置

    各种输出设置值的对比情况. Microsoft Video1压缩方法情况(该模式下无法采用RGB+Alpha): 一 深度为"数千种颜色",缩放为1280×720(HDV/HDTV ...

  4. UNION(并集)集合运算

    在集合论中,两个集合(记为集合A和B)的并集是一个包含集合A和B中所有元素的集合.换句话说,如果一个元素属于任何一个输入集合,那么它也属于结果集. 在T-SQL中,UNION 集合运算可以将两个输入查 ...

  5. android学习一(了解android)

    声明:android学习文件中面的全部内容为都是整理来自第一行代码Android.在接下来的文章里我就不在进行反复的声明. 想看原版的能够买书看看.或者去作者的博客http://blog.csdn.n ...

  6. 三分钟迁移Spring boot工程到Serverless

    前言 Spring Boot已成为当今最流行的Java后端开发框架,典型的应用方式是在云上购买一台虚拟机,每天24小时在上面运行Java程序,在这种情况下,用户必须维护自己的虚拟机环境,而且按照包月包 ...

  7. 玩转单元測试之DBUnit

    本文同一时候发表在:http://www.cnblogs.com/wade-xu/p/4547381.html DBunit 是一种扩展于JUnit的数据库驱动測试框架,它使数据库在測试过程之间处于一 ...

  8. java 学习第一步---安装JDK以及配置环境变量

    1.下载jdk 链接:https://pan.baidu.com/s/1FiTGhxdHK0KTFawdkLT26g    提取码:zcy0    我已经在官网上面下载了1.8的jdk,通过百度云盘分 ...

  9. 利用 C# dynamic 减少创建模型类

    C# 的 dynamic 关键字可以是C#可以像 javascript 这种弱类型语言一样具有随时可以添加属性的能力.C# 是一种强类型语言,dynamic 要摆脱类型的限制,自然是有代价的.这里不讨 ...

  10. RDA 多屏参流程

    一.RDA MAKEFILE的本地变量 在介绍多屏参之前,先看一下./code/env.conf的包含过程,通过./code/Makefile.project加载,env.conf中所有的变量,都变为 ...