Kotlin:基本类型 - 字符串

时间:2022-06-01 12:39:42

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
"""