Kotlin字符串使用String表示类型,为不可变类型。
字符串表示
字符串有两种表示方式:单行和多行。
单行
单行使用双引号把内容括起来。
val s = “Hello,World”
如果需要在单行里表示换行的字符串需要对换行符转义
val s = “Hello, World \n”
多行
多行用来表示原始的字符串,包括换行,它使用三个双引号把内容括起来。
val text = """
for (c in "foo")
print(c)
"""
去除开头空白
多行方式里为原始字符串,包括里面的空白字符,kotln对字符串提供了trimMargin()函数,它允许我们指定空白边界字符,然后根据边界字符去掉每一行开始至指定字符空白字符(包括指定字符),其中边界字符默认为“|”。
val text = """
|Tell me and I forget.
|Teach me and I remember.
|Involve me and I learn.
|(Benjamin Franklin)
"""
System.out.print(text)
System.out.print(text.trimMargin())
输出结果为:
|Tell me and I forget.
|Teach me and I remember.
|Involve me and I learn.
|(Benjamin Franklin)
Tell me and I forget.
Teach me and I remember.
Involve me and I learn.
(Benjamin Franklin)
第一个输出以换行符开始。第二个输出则把空白字符,包括换行符去掉。
字符索引
Kotlin的字符串支持使用下标的方式引用字符,以及使用in迭代字符串里的字符。
下标引用
val name = "Jack"
val c: Char = name[0];
迭代字符串
for (c in str) {
println(c)
}
字符串模板
Kotlin支持字符串模板。
引用变量
在字符串里使用$符号加上变量名即可引用变量:
val i = 10
val s = "i = $i" // evaluates to "i = 10"
引用表达式
在字符串里使用表达式格式:${ 表达式 }
val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"
$符号作为特殊字符,如果需要在字符串里使用${'$'}:
val price = """
${'$'}9.99
"""