String库函数

官方地址:https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/
String()的用法

String stringOne = "Hello String";                    // using a constant String
String stringOne = String('a');                       // converting a constant char into a String
String stringTwo = String("This is a string");        // converting a constant string into a String object
String stringOne = String(stringTwo + " with more");  // concatenating two strings
String stringOne = String(13);                        // using a constant integer
String stringOne = String(analogRead(0), DEC);        // using an int and a base
String stringOne = String(45, HEX);                   // using an int and a base (hexadecimal)
String stringOne = String(255, BIN);                  // using an int and a base (binary)
String stringOne = String(millis(), DEC);             // using a long and a base
String stringOne = String(5.698, 3);                  // using a float and the decimal places

compareTo()

  • 描述
    比较两个字符串,测试一个字符串在另一个字符串之前还是之后,或者它们是否相等。使用字符的ASCII值逐个字符比较字符串。例如,这意味着“ a”在“ b”之前但在“ A”之后。数字先于字母。

  • 语法
    myString.compareTo(myString2)

  • 参数
    myString:类型的变量String。
    myString2:另一个类型的变量String。

  • 返回值
    a negative number:如果myString在myString2之前。
    0:如果String等于myString2。
    a positive number:如果myString在myString2之后。

c_str()

  • 描述
    将String的内容转换为C样式,以null终止的字符串。请注意,这可以直接访问内部String缓冲区,因此应谨慎使用。特别是,永远不要通过返回的指针修改字符串。当您修改String对象或将其销毁时,以前由c_str()返回的任何指针都将变为无效,并且不应再使用。

  • 语法
    myString.c_str()

  • 参量
    myString:类型的变量String。

  • 返回值
    指向调用字符串的C样式版本的指针。

remove()

  • 描述
    修改字符串,从提供的索引到字符串的末尾或从提供的索引到索引加计数的字符除去字符。

  • 句法
    myString.remove(index)
    myString.remove(index, count)

  • 参量
    myString:类型的变量String。
    index:开始删除过程的位置(零索引)。允许的数据类型:unsigned int。
    count:要删除的字符数。允许的数据类型:unsigned int。

  • 返回值
    没有

  • 范例
    String greeting = “hello”;
    greeting.remove(2, 2); // greeting now contains “heo”

reserve()

  • 描述
    字符串reserve()函数使您可以在内存中分配用于处理字符串的缓冲区。

  • 句法
    myString.reserve(size)

  • 参量
    myString:类型的变量String。
    size:要为String操作保存的内存中的字节数。允许的数据类型:unsigned int。

  • 返回值
    没有

  • 范例程式码

String myString;

void setup() {
  // initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB
  }

  myString.reserve(26);
  myString = "i=";
  myString += "1234";
  myString += ", is that ok?";
  // print the String:
  Serial.println(myString);
}

void loop() {
  // nothing to do here
}

toDouble()

  • 描述
    将有效的String转换为double。输入的字符串应以数字开头。如果字符串包含非数字字符,则该函数将停止执行转换。例如,字符串“ 123.45”,“ 123”和“ 123fish”分别转换为123.45、123.00和123.00。注意,“ 123.456”近似为123.46。还要注意,浮点数的精度只有6-7个十进制数字,较长的字符串可能会被截断。

  • 句法
    myString.toDouble()

  • 参量
    myString:类型的变量String。

  • 返回值
    如果由于字符串不是以数字开头而无法执行有效的转换,则返回零。资料类型:double。

toFloat()

  • 描述
    将有效的String转换为float。输入的字符串应以数字开头。如果字符串包含非数字字符,则该函数将停止执行转换。例如,字符串“ 123.45”,“ 123”和“ 123fish”分别转换为123.45、123.00和123.00。注意,“ 123.456”近似为123.46。还要注意,浮点数的精度只有6-7个十进制数字,较长的字符串可能会被截断。

  • 句法
    myString.toFloat()

  • 参量
    myString:类型的变量String。

  • 返回值
    如果由于字符串不是以数字开头而无法执行有效的转换,则返回零。资料类型:float。

charAT(n)

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

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

compareTo(str2)

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

concat(str2)

  • 描述
    字符串拼接,其实在C++语言中字符串拼接可以直接让前字符串+后字符串
  • 参数
    str1 : 第一个字符串
    str2 : 第二个字符串
  • 返回
    无返回值,拼接好的字符串在str1中

endsWith(str2)

  • 描述
    字符串尾部判断对比,判断str1尾部是否是字符串str2,当然你也可以用它来判断’\n’
  • 参数
    str1 : 第一个字符串
    str2 : 第二个字符串
  • 返回
    布尔类型

equals(str2)

  • 描述
    判断字符串是否相等

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

  • 返回值
    布尔类型

equalslgnoreCase(str2)

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

getBytes(buf,len)

  • 描述
    字符串的复制,和和函数 toCharArray()功能非常相识。
  • 参数
    string1:原本的字符串
    buf:要搬移的目的变量
    len:字符串长度

indexOf()

  • 描述
    在字符串中选择特定的字符,并返回位置的功能函数(正向)。如果你想在一个很长的字符串中查找这个特别的关键字,可以使用这个函数。
    string1.indexOf(val);
    string1.indexOf(val,from);
  • 参数
    string1:原本的字符串
    val:想要找的关键字,可以是char或 string 字符串。
    from:选择性参数,你可以特别指定从那个位置开始寻找这个关键字。
  • 返回值
    成功返回位置,失败返回-1

lastlndexOf()

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

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:原本的字符串

  • 返回值

版权声明:本文为CSDN博主「acktomas」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/acktomas/article/details/102723676

生成海报
点赞 0

acktomas

我还没有学会写个人说明!

暂无评论

相关推荐

【翻译】arduino 内置示例

内置示例{#top} https://www.arduino.cc/en/Tutorial/BuiltInExamples 内置示例是Arduino软件(IDE)中包含的草图,单击工具栏菜单打开它们&