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. Android 原生开发、H5、React-Native使用利弊和场景技术分享

    http://m.blog.csdn.net/article/details?id=51778086 发表于2016/6/28 18:52:46  1176人阅读      最近工作中接触到React ...

  2. linux 的硬链接与软连接

    linux 里有硬链接和软连接两种概念.要明白这些概念首先要明白文件在linux 上其实有3个组成部分. data 真正的数据存储区域 inode 一个用来唯一表示data的数据结构 filename ...

  3. java压缩与解压文件

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import ...

  4. 【uoj35】后缀排序

    后缀数组模板题 #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio ...

  5. java SocketChannel and ServerSocketChannel

    1 SocketChannel 1.1 打开一个SocketChannel SocketChannel socketChannel = SocketChannel.open(); socketChan ...

  6. text recognizer (OCR) Engine 光学字符识别

    https://github.com/tesseract-ocr/tesseract/wiki https://github.com/UB-Mannheim/tesseract/wiki C:\Use ...

  7. JFreeChart基础(1) (转自 JSP开发技术大全)

    JFreeChart基础(1) (转自 JSP开发技术大全) JFreeChart是一个Java开源项目,是一款优秀的Java图表生成插件,它提供了在Java Application.Servlet和 ...

  8. 【Codeforces】Round #376 (Div. 2)

    http://codeforces.com/contest/731 不发题面了,自己点链接 总结一下 考场上 原以为这次要加很多raiting... 但FST狗记邓,只加了58rating 总结一下 ...

  9. [Pa2013]Iloczyn

    https://www.zybuluo.com/ysner/note/1300802 题面 给定正整数\(n\)和\(k\),问能否将\(n\)分解为\(k\)个不同正整数的乘积. \(n\leq10 ...

  10. Spark GraphX 属性图操作

    package Spark_GraphX import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD import org.apa ...