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. Servlet的文件上传

    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/file-uploading.html: Servlet可以与HTML form标签一起使用允许用 ...

  2. 我的arcgis培训照片5

    来自:http://www.cioiot.com/successview-528-1.html

  3. &quot;Simple Factory&quot; vs &quot;Factory Method&quot; vs &quot;Abstract Factory&quot; vs &quot;Reflect&quot;

    ref: http://www.cnblogs.com/zhangchenliang/p/3700820.html 1. "Simple Factory" package torv ...

  4. hdu5371 Hotaru&#39;s problem

    Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission ...

  5. Django学习系列之路由系统

    一.基于App的路由 作用: 根据App对路由规则进行分类,在全局urls.py包含某个项目的urls.py 示例 定义全局urls.py(全局路由系统) #导入include from django ...

  6. Scala-LIST/Tuple/Map

    环境: CentOS 6.3 LIST(列表) 代码: $ cat list.scala var mylist = List(1,2,3) println(mylist) var mylist1 = ...

  7. Skype for Business七大新功能

    Lync Server 2013的下一版本号.Skype for Business将于2015年4月正式公布,下面是七大新功能. "呼叫监听"(Call Monitor)--假设你 ...

  8. 抢占式内核与非抢占式内核中的自旋锁(spinlock)的差别

    一.概括 (1)自旋锁适用于SMP系统,UP系统用spinlock是作死. (2)保护模式下禁止内核抢占的方法:1.运行终端服务例程时2.运行软中断和tasklet时3.设置本地CPU计数器preem ...

  9. Cocos2D实现上下滚动式状态窗体

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 有时候要显示的内容太多,我们无法在iOS设备的小屏幕上显示出来 ...

  10. 【web开发学习笔记】Structs2 Result学习笔记(二)动态结果集

    Result学习笔记(二) - 动态结果集     动态结果 一定不要忘了为动态结果的保存值设置set get方法 第一部分:代码 //前端 <% String context = reques ...