字符串(Strings)
Kotlin 中的字符串由类型
String
表示。
通常,字符串值是双引号(
"
)中的字符序列:
字符串的元素是通过索引操作
s[i]
可以访问的字符。 你可以使用
for
循环迭代这些字符:
字符串是不可变的。一旦初始化了一个字符串,就无法更改其值或为其赋新值。 所有转换字符串的操作都会将结果返回到一个新的
String
对象中,原始字符串保持不变:
要连接字符串,使用
+
运算符。这也适用于将字符串与其他类型的值连接起来,只要表达式中的第一个元素是字符串:
字符串字面量
Kotlin 有两种类型的字符串字面量:
转义字符串
转义字符串
可以包含转义字符。
以下是转义字符串的示例:
转义使用传统的方式,即使用反斜杠 (
\
)。
请参阅
字符
页面获取支持的转义序列列表。
多行字符串
多行字符串
可以包含换行和任意文本。它由三个双引号 (
"""
) 括起,不包含转义,可以包含换行和任何其他字符:
要从多行字符串中删除前导空格,请使用
trimMargin()
函数:
默认情况下,管道符号
|
被用作边距前缀,但你可以选择另一个字符并将其作为参数传递,比如
trimMargin(">")
。
字符串模板
字符串字面量可以包含
模板表达式
—— 这些是会被计算并将结果拼接到字符串中的代码片段。 处理模板表达式时,Kotlin 会自动调用表达式结果的
.toString()
函数将其转换为字符串。 模板表达式以美元符号 (
$
) 开头,并由以下两种形式之一组成:
或花括号中的表达式:
你可以在多行字符串和转义字符串中都使用模板。 在多行字符串(不支持反斜杠转义)中插入美元符号
$
,在任何允许作为
标识符
起始符号的地方使用以下语法:
字符串格式化
要按照您的特定要求格式化字符串,请使用
String.format()
函数。
String.format()
函数接受一个格式化字符串和一个或多个参数。 格式化字符串包含一个占位符(由
%
表示)用于指定参数,后面跟着格式说明符。 格式说明符是对相应参数的格式化指令,包括标志、宽度、精度和转换类型。格式说明符共同决定了输出的格式。 常见的格式说明符包括
%d
用于整数,
%f
用于浮点数,和
%s
用于字符串。 你还可以使用
argument_index$
语法在格式化字符串中以不同的格式多次引用相同的参数。
让我们来看一个例子: