Arduino Language Reference-Variables-String()-Functions

本篇文章均翻译自官方文档,为博主自用。方便博主提高英语水平。

必须注意的是,翻译不可能完全正确,若有矛盾之处或不能理解之处,需要查看原英文资料,并在comment中告知。

charAt()

charAt()

Description

访问字符串中的特定字符。

Syntax

myString.charAt(n)

Parameters

myString: 一个 String 类型的变量。
n: 一个变量。允许的数据类型: unsigned int

Returns

字符串中索引 n 处的字符。

See also

compareTo()

compareTo()

Description

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

Syntax

myString.compareTo(myString2)

Parameters

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

Returns

负数: 如果myString在myString2之前。
0: 如果字符串等于myString2。
正数: 如果myString在myString2之后。

See also

concat()

concat()

Description

将参数追加到字符串。

Syntax

myString.concat(parameter)

Parameters

myStringString类型的变量。
parameter:允许的数据类型:Stringstringcharbyteintunsigned intlongunsigned longfloatdouble__FlashStringHelper(F()宏)。

Returns

true:成功。
false:失败(在这种情况下,字符串保持不变)。

See also

c_str()

c_str()

Description

将一个字符串的内容转换为 C 风格的以空字符 null 结尾的字符串。注意,这直接访问了字符串的内部缓冲区,应该小心使用。特别是,你绝不应该通过返回的指针修改字符串。当你修改了 String 对象,或者它被销毁时,任何之前由 c_str() 返回的指针都将变为无效,不应该再使用。

Syntax

myString.c_str()

Parameters

myString: 一个 String 类型的变量。

Returns

一个指向调用 String 的 C 风格版本的指针。

See also

endsWith()

endsWith()

Description

测试一个字符串是否以另一个字符串的字符结尾。

Syntax

myString.endsWith(myString2)

Parameters

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

Returns

true: 如果 myString 以 myString2 的字符结尾。
false: 否则。

See also

equals()

equals()

Description

比较两个字符串是否相等。比较时区分大小写,意味着字符串"hello"不等于字符串"HELLO"。

Syntax

myString.equals(myString2)

Parameters

myString, myString2:String类型的变量。

Returns

true:如果字符串等于字符串2。
false:否则。

See also

equalsIgnoreCase()

equalsIgnoreCase()

Description

比较两个字符串是否相等。该比较不区分大小写,意味着字符串("hello")等于字符串("HELLO")。

Syntax

myString.equalsIgnoreCase(myString2)

Parameters

myString: 类型为String的变量。
myString2: 类型为String的变量。

Returns

true: 如果myString等于myString2(忽略大小写)。
false: 否则。

See also

getBytes()

getBytes()

Description

将字符串的字符复制到提供的缓冲区。

Syntax

myString.getBytes(buf, len)

Parameters

myString: String 类型的变量。
buf: 复制字符到其中的缓冲区。允许的数据类型: byte 数组。
len: 缓冲区的大小。允许的数据类型: unsigned int

Returns

没有

See also

indexOf()

indexOf()

Description

在另一个字符串中定位一个字符或字符串。默认情况下,从字符串的开头开始搜索,但也可以从给定的索引开始,允许定位字符或字符串的所有实例。

Syntax

myString.indexOf(val)
myString.indexOf(val, from)

Parameters

myString: 类型为 String 的变量。
val: 要搜索的值。允许的数据类型: charString
from: 开始搜索的索引。

Returns

val在字符串中的索引,如果未找到则返回-1。

See also

lastIndexOf()

lastIndexOf()

Description

在另一个字符串中定位一个字符或字符串。默认情况下,从字符串的末尾开始搜索,但也可以从给定的索引向后工作,从而定位该字符或字符串的所有实例。

Syntax

myString.lastIndexOf(val)
myString.lastIndexOf(val, from)

Parameters

myStringString类型的变量。
val:要搜索的值。允许的数据类型:charString
from:向后工作的索引。

Returns

val在字符串中的索引,如果未找到则为-1。

See also

length()

length()

Description

返回字符串的长度(以字符为单位)。(注意这不包括尾部的空字符。)

Syntax

myString.length()

Parameters

myStringString类型的变量。

Returns

字符串的长度(以字符为单位)。数据类型为 unsigned int

See also

remove()

remove()

Description

在原地修改字符串,从提供的索引开始删除字符串的剩余部分,或者从提供的索引开始删除指定数量的字符。

Syntax

myString.remove(index)
myString.remove(index, count)

Parameters

myString:String类型的变量。
index:unsigned int类型,删除的起始位置(从零开始索引)。
count:unsigned int类型,要删除的字符数量。

Returns

Example Code

String greeting = "hello";
greeting.remove(2, 2);  // greeting现在包含"heo"

See also

replace()

replace()

Description

String replace()函数允许你用另一个字符替换给定字符的所有实例。你也可以使用 replace 将 String 的子串替换为另一个子串。

Syntax

myString.replace(substring1, substring2)

Parameters

myString: String类型的变量。
substring1: String类型的另一个变量。
substring2: String类型的另一个变量。

Returns

See also

reserve()

reserve()

Description

String reserve()函数允许你在内存中为操作字符串分配缓冲区。

Syntax

myString.reserve(size)

Parameters

myString:一个String类型的变量。
size:为String操作保留的内存字节数。允许的数据类型: unsigned int

Returns

成功时返回1,失败时返回0

Example Code

String myString;

void setup() {
  // 初始化串行通信并等待端口打开:
  Serial.begin(9600);
  while (!Serial) {
    ; // 等待串行端口连接。需要原生 USB
  }

  myString.reserve(26);
  myString = "i=";
  myString += "1234";
  myString += ", is that ok?";

  // 打印字符串:
  Serial.println(myString);
}

void loop() {
  // 这里没有任何操作
}

See also

setCharAt()

setCharAt()

Description

设置字符串中的字符。对于超出字符串长度的索引则无效。

Syntax

myString.setCharAt(index, c)

Parameters

myString:一个 String 类型的变量。
index:要设置字符的索引位置。
c:要存储在给定位置的字符。

Returns

See also

startsWith()

startsWith()

Description

测试一个字符串是否以另一个字符串的字符开头。

Syntax

myString.startsWith(myString2)

Parameters

myString, myString2String 类型的变量。

Returns

true:如果 myString 以 myString2 的字符开头。
false:否则

See also

substring()

substring()

Description

获取字符串的子字符串。起始索引是包括的(相应的字符包含在子字符串中),但可选的结束索引是排除的(相应的字符不包含在子字符串中)。如果省略结束索引,子字符串将继续到字符串的结尾。

Syntax

myString.substring(from)
myString.substring(from, to)

Parameters

myString: String类型的变量。
from: 开始子字符串的索引。
to (可选): 子字符串结束之前的索引。

Returns

子字符串。

See also

toCharArray()

toCharArray()

Description

将字符串的字符复制到提供的缓冲区。

Syntax

myString.toCharArray(buf, len)

Parameters

myString: 类型为 String 的变量。
buf: 复制字符的目标缓冲区。允许的数据类型: char 数组。
len: 缓冲区的大小。允许的数据类型: unsigned int

Returns

See also

toDouble()

toDouble()

Description

将有效的字符串转换为双精度浮点数。输入字符串应以数字开头。如果字符串包含非数字字符,函数将停止执行转换。例如,字符串"123.45"、"123"和"123fish"分别转换为123.45、123.00和123.00。请注意,"123.456"会被近似为123.46。另请注意,浮点数只有6-7位小数精度,更长的字符串可能会被截断。

Syntax

myString.toDouble()

Parameters

myString: 类型为 String 的变量。

Returns

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

See also

toInt()

toInt()

Description

将一个有效的字符串转换为整数。输入字符串应以整数开头。如果字符串包含非整数数字,则函数将停止转换。

Syntax

myString.toInt()

Parameters

myStringString类型的变量。

Returns

如果无法执行有效的转换,因为字符串不以整数开头,则返回零。数据类型:long

See also

toFloat()

toFloat()

Description

将有效的字符串转换为浮点数。输入字符串应以数字开头。如果字符串包含非数字字符,函数将停止执行转换。例如,字符串"123.45"、"123"和"123fish"分别转换为123.45、123.00和123.00。注意"123.456"会被近似为123.46。另请注意,浮点数只有6-7位小数精度,较长的字符串可能会被截断。

Syntax

myString.toFloat()

Parameters

myString: String类型的变量。

Returns

如果无法执行有效转换,因为字符串不以数字开头,则返回零。数据类型: float

See also

toLowerCase()

toLowerCase()

Description

获取字符串的小写版本。toLowerCase() 函数直接修改该字符串,而不是返回一个新的字符串。

Syntax

myString.toLowerCase()

Parameters

myString:一个 String 类型的变量。

Returns

See also

toUpperCase()

toUpperCase()

Description

获取字符串的大写版本。toUpperCase()方法会直接修改字符串,而不是返回一个新的字符串。

Syntax

myString.toUpperCase()

Parameters

myString: 一个String类型的变量。

Returns

See also

trim()

trim()

Description

获取一个字符串的版本,其中任何前导和尾随空白都被删除了。trim() 函数直接修改字符串本身,而不是返回一个新的字符串。

Syntax

myString.trim()

Parameters

myString:一个字符串类型的变量。

Returns

See also

最后修改:2024 年 04 月 28 日
如果觉得我的文章对你有用,请随意赞赏