这篇文章汇总一下 Arduino 中字符串处理的操作。
分析字符串
1 | isAlphaNumeric() // 判断是否为字母数字 |
代码示例:
1 | /* |
字符串相加
字符串可以和(长)整数常量,(长)整数变量,字符,字符串相加,代码如下所示:
1 | /* |
输出的结果:
添加字符串
使用 +=
运算符和 concat()
方法将(长)整数常量,(长)整数变量,字符,字符串添加到字符串中去,代码如下所示:
1 | /* |
输出结果:
改变字符串的大小写
可以使用 toUpperCase
和 toLowerCase
来分别改变字符串的大写和小写。只有字符 A-Z 或 a-z 受到影响,代码示例如下所示:
1 | /* |
输出结果:
设定字符串中的值
字符串函数 charAt()
用于获取字符串中给定位置的字符值, setCharAt()
用于设置字符串中给定位置的字符值。代码示例如下:
1 | /* |
输出结果:
比较字符串
字符串的中比较运算符有:==
,!=
,>
,<
,>=
,<=
以及 equals()
方法和 equalsIgnoreCase()
方法。这些运算允许在字符串之间进行字母比较。它们对于排序和按字母顺序排序很有用。
其中 ==
和 equals()
执行相同的操作:
1 | if(stringOne.equals(stringTwo)){} |
1 | if (stringOne == stringTwo) {} |
>
(大于)和 <
(小于)运算符按字母顺序在两者不同的第一个字符上比较字符串。因此,有 “a”<“b”
和 “1”<“2”
,但 “999”>“1000”
因为 9 比 1 大。
所以,需要注意的是,在比较数字字符串时,字符串比较运算符可能会造成混淆,因为数字被视为字符串而不是数字。如果需要比较数字,请将它们转换为整数,浮点数或长整数,而不是字符串。
获取字符的索引
indexOf()
用来获取字符串中指定字符的索引; lastIndexOf()
用来倒序获取指定字符的索引。如何想要获得当前字符第二个索引,可以使用第一个结束位置的索引,并从进行 + 1
搜索作为偏移量;倒序的话,进行 -1
操作。需要注意的是,得到的结果都是正向排序的结果,代码示例如下:
1 | /* |
输出结果:
获取字符串的长度及消除额外元素
使用 length()
可以获得字符串的长度,使用 trim()
可以消除多余的空白格,代码示例如下:
1 | /* |
输出结果:
替换字符串中的字符
使用 replace()
可以替换字符串中的字符,代码示例如下:
1 | /* |
输出结果:
检查首尾字符
可以用 startsWith()
和 endWith()
来检查一个字符串是否符合要求,代码示例如下所示:
1 | /* |
输出结果:
查找子字符串
substring()
与 charAt()
,startsWith()
和endsWith()
密切相关。它允许查找给定字符串中特定子字符串的实例。
1 | void setup() { |
输出结果:
字符串转换成整数
使用 toInt()
可以将字符串转换成整数。下面代码是将接受到的字符串中的整数字符转换成整数:
1 | /* |