1-7-字符串

字符串类型(String)

实际上String不属于基本数据类型,而属于引用 字符串表示一个或多个有序的Unicode字符集合,用""来表示 String允许通过s index 来获取索引处的字符,也可以使用for循环来遍历

fun main() {
val string = "HelloWorld"
for(char in string) {
println(char)
}
}
/**
* H
* e
* l
* l
* o
* W
* o
* r
* l
* d
*/

Kotlin 的字符串有两种字面值(Literal),分别如下。

  • 转义字符串: 转义字符串可以有转义字符,转义字符串很像 Java 字符串。

  • 原始字符串 :原始字符串可以包含换行和任意文本。原始字符串需要用 """ 引起来 。

fun main() {
// 转义字符串,支持转义字符,比如换行 \n 和制表符 \t
val escapedString = "Hello, Kotlin!\nWelcome to \"Kotlin\" world.\tEnjoy coding."
println("转义字符串示例:")
println(escapedString)

// 原始字符串,用三重引号包围,可以直接写多行文本,也不用转义引号
val rawString = """
Hello, Kotlin!
Welcome to "Kotlin" world.
This is a raw string with
multiple lines and special characters like \n and \t are literal here.
"""
println("\n原始字符串示例:")
println(rawString)

}
/*
转义字符串示例:
Hello, Kotlin!
Welcome to "Kotlin" world. Enjoy coding.

原始字符串示例:

Hello, Kotlin!
Welcome to "Kotlin" world.
This is a raw string with
multiple lines and special characters like \n and \t are literal here.

*/

可以看到转义字符串中的转义字符都被转义了, 而原始字符串则保留了原始的转义字符 转义字符串常用方法

  • trimMargin(”boundary“): boundary指定边界符(默认为|), 边界符前的空格都会被去掉

fun main() {
val text = """
|K
|o
|t
|l
|i
|n
""".trimMargin()
}
//输出
/*
k
o
t
l
i
n
*/

字符串方法

Kotlin的String中的方法与Java中的方法有所不同

  • toXxx() 将字符串转换成对应数值

  • capitalize() 将首字母大写

  • decapitalize() 将首字母小写

  • commonPrefixWith() 返回相同的前缀

  • commonSuffixWith() 返回相同的后缀

var str2 = "crazyit.org"
//返回两个字符串相同的前缀
println (str2.commonPrefixWith("crazyjava.org"))
//返回两个字符串相同的后缀
println(str2 . commonSuffixWith ("fkit.org"))
  • contains() 判断是否包含指定的字符序列 Java中String的contains不支持使用正则表达式,而Kotlin则可以

var str3 = "java886"
//判断 str3 是否包含 3 个连续的数字
println(str3.contains(Regex("\\d{3}")))

更多字符串的方法可以参考 Kotlin核心库中String的文档