arduino的String类

原创 2014年07月02日 16:12:53

  String类主要的就是一些字符串处理函数,比string具有更多更轻大的功能,so用起来很爽!

下面是其主要函数介绍,用例主要参考官方资料。

1、定义,这个就不多说了

String stringOne = "Hello String";                  
String stringOne =  String('a');                   
String stringTwo =  String("This is a string");   
String stringOne =  String(stringTwo + " with more");
String stringOne =  String(13);                    
String stringOne =  String(analogRead(0), DEC);    
String stringOne =  String(45, HEX);               
String stringOne =  String(255, BIN);               
String stringOne =  String(millis(), DEC); 

2、字符串的连接与追加,官方将两种功能分开了,其实觉得和在一起对比理解会更好一点
stringThree =  stringOne + 123;
stringThree = stringOne + 123456789;
stringThree =  stringOne + 'A';
stringThree =  stringOne +  "abc";
stringThree = stringOne + stringTwo;
stringOne += 123456789;
等同于
stringTwo.concat(123456789);


3、在字符串中中查找字符位置,返回值为给定字符的第一个位置,查找失败返回-1

   indexOf('?'):从字符串头部开始查找

   lastindexOf('?'):从尾部开始查找

int firstClosingBracket = stringOne.indexOf('>');
默认是从头部开始查找,还可以指定开始位置
int secondOpeningBracket = firstClosingBracket + 1;
int secondClosingBracket = stringOne.indexOf('>', secondOpeningBracket );
lastindexOf()的用法类似
int lastParagraph = stringOne.lastIndexOf("<p");
int secondLastGraf = stringOne.lastIndexOf("<p", lastParagraph - 1);


4、length():字符串长度测量函数,返回值为字符串的长度
String txtMsg = "This is a test!";
int lastStringLength = txtMsg.length();

5、trim():将字符串中的字符串去除,包括空格、回车、Tab等

String str = "this is	a 
test ,do you kown?";
stringOne.trim();
6、大小写转换

   大转小:toLowerCase()

   小转大:toUpperCase()

7、替换:用后面的字符串替换前面的字符串

String stringOne = "<html><head><body>";
stringTwo.replace("<", "</");
8、查看字符串指定位置的字符:charAt(),返回值为给定位置的字符,如果超出范围会发生意想不到的错误。

   改变字符串给定位置的字符:setcharAt,无返回值。

String reportString = "SensorReading: 456";
char mostSignificantDigit = reportString.charAt(15);
reportString.setCharAt(13, '=');
9、判断字符串开头、结尾或者给定位置是否为给定字符串,是返回true,否则返回false
String stringOne = "HTTP/1.1 200 OK";
if (stringOne.startsWith("HTTP/1.1")) {
    Serial.println("Server's using http version 1.1"); 
} 
if (stringOne.startsWith("200 OK", 9)) {
    Serial.println("Got an OK from the server"); 
}
10、字符串的各种比较,包括==,!=,>,<,>=,<=。具体的函数有equals()、equalsIgnoreCase()(忽略大小写)、compareTo。字符串的比较式从前往后进行比较,以ASIIC码为标准。

11、字符串转换为整型:toInt(),返回值为转换后的整型值。

12、字符串解析函数:substring(?,...),返回值为指定位置的字符串值

String stringOne = "Content-Type: text/html";
if (stringOne.substring(19) == "html") {
    Serial.println("It's an html file"); 
} 
if (stringOne.substring(14,18) == "text") {
    Serial.println("It's a text-based file"); 
}

arduino字符串函数

arduino教程:字符串函数 如果你需要操作文本。比如拷贝,增加文本,和定义文本数量。 1 2 3 4 5 6 7 8 9 10 11 12 13 14...
  • broadCE
  • broadCE
  • 2015年01月30日 23:22
  • 7783

Arduino中数据类型转换 int转换为char 亲测好使,itoa()函数

Arduino数据类型转换 int-char
  • qq_25827845
  • qq_25827845
  • 2016年03月16日 15:48
  • 12876

【Arduino官方教程第一辑】示例程序 4-7 读取ASCII字符串

本例使用Serial.parseInt()函数来解析一列用非字母字符分割的值。一般来所,人们使用逗号来分隔一段数据的不同的部分(这种格式的数据一般被称作 comma-separated-values ...
  • amagamag
  • amagamag
  • 2016年05月17日 17:13
  • 2569

arduino字符串比较,串口打印

arduino字符串比较,串口收入串口打印,用compareTo()函数。 String comdata=""; String str1="on"; String out01off="out...
  • txwtech
  • txwtech
  • 2017年05月14日 01:19
  • 1247

Arduino字符串转换为字符数组

void setup() { Serial.begin(9600); } void loop() { unsigned long along = 1234213; String str1 =...
  • TobbyKwok
  • TobbyKwok
  • 2014年03月27日 15:48
  • 8114

Arduino中数据类型转换 float/double转换为char 亲测好使,dtostrf()函数

如何轻松玩转Arduino单片机,当我在进行数据转换的时候,遇到了问题,尝试了C语言和C++中的好多函数,都没有达到将float型数据转换为char型的目的。苦苦查阅资料后,终于找到了一个大神级函数!...
  • qq_25827845
  • qq_25827845
  • 2016年02月22日 16:27
  • 10064

String类中的compareTo方法总结

最近我发现了一个事情,那就是在面试笔试中,好多公司都喜欢在String字符串上出问题,涉及到方方面面的知识,包括其中的一些常用方法。在此,我总结下关于String类中的compareTo方法,以备应对...
  • qq_25827845
  • qq_25827845
  • 2016年12月25日 16:09
  • 12330

arduino的String类

String类主要的就是一些字符串处理函数,比string具有更多更轻大的功能,so用起来很爽! 下面是其主要函数介绍,用例主要参考官方资料。 1、定义,这个就不多说...
  • sh307976524
  • sh307976524
  • 2014年07月02日 16:49
  • 657

Arduino串口的一些高级用法

1.配置串口通信数据位、校验位、停止位 通常我们使用Serial.begin(speed)来完成串口的初始化,这种方式,只能配置串口的波特率。 而使用Serial.begin(speed, c...
  • qinhan728
  • qinhan728
  • 2015年06月27日 17:57
  • 4134

Android中字符串的拆分-split

String s3 = "Real-How-To"; String [] temp = null; temp = s3.split("-"); ...
  • lincyang
  • lincyang
  • 2010年06月29日 09:31
  • 61804
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:arduino的String类
举报原因:
原因补充:

(最多只允许输入30个字)