一、字符串类型介绍
Kotlin的字符串有两种字面值(Literal),分别如下所示:
类型 | 描述 |
---|---|
转义字符串 | 转义字符串可以有转义字符,转义字符串很像Java字符串 |
原始字符串 | 原始字符串可以包含换行和任意文本。原始字符串需要用3个引号引起来。 |
二、字符串类型示例代码
如下所示:
fun stringTest() {
//定义普通字符串
var str = "欧阳鹏"
println(str.length)
//定义原始字符串
val text = """
|欧阳鹏
|一个人,如果你不逼自己一把,你根本不知道自己有多优秀!
|https://ouyangpeng.blog.csdn.net/
|CSDN
""".trimMargin()
println(text) // 前置空格删除了
}
上面程序,第一个普通字符串str 使用的是转义字符串,这种字符串和Java字符串基本相同。
第二个字符串text 使用的是Kotlin的原始字符串,用3个引号引起来的部分都是字符串的内容,包括换行符等各种特殊字符。
编程时,考虑到程序格式,往往在原始字符中进行一些缩进,但是这些缩进并不是原始字符希望包含的。此时可以使用trimMargin()
方法来去掉原始字符串前面的缩进。
也就是说,所有竖线(|)之前的内容都会被去掉。
如果有必要,可以使用其他字符作为边界符,此时需要在trimMargin()
方法中传入该边界符作为参数。
如下所示:
fun stringTest() {
//定义普通字符串
var str = "欧阳鹏"
println(str.length)
//定义原始字符串
val text = """
|欧阳鹏
|一个人,如果你不逼自己一把,你根本不知道自己有多优秀!
|https://ouyangpeng.blog.csdn.net/
|CSDN
""".trimMargin()
println(text) // 前置空格删除了
println("==================================================")
//定义原始字符串 使用 ~ 作为边界符
val text2 = """
~欧阳鹏
~一个人,如果你不逼自己一把,你根本不知道自己有多优秀!
~https://ouyangpeng.blog.csdn.net/
~CSDN
""".trimMargin("~")
println(text2) // 前置空格删除了
}