Kotlin中字符串处理

字符串拼接

1
println("明年${age + 1}岁时,$name 将在 $city 庆祝生日。")

长度

length:获取字符串长度。

1
2
val str = "Hello"
val length = str.length // 返回 5

截取/替换/包含

substring:获取子字符串。

1
2
val str = "Hello, World!"
val sub = str.substring(7) // 返回 "World!"

contains:判断字符串是否包含特定子字符串。

1
2
val str = "Hello, World!"
val contains = str.contains("World") // 返回 true

replace:替换字符串中的内容。

1
2
val str = "Hello, Kotlin!"
val newStr = str.replace("Kotlin", "World") // 返回 "Hello, World!"

大小写

toUpperCasetoLowerCase:将字符串转换为大写或小写。

1
2
3
val str = "Hello"
val upper = str.toUpperCase() // 返回 "HELLO"
val lower = str.toLowerCase() // 返回 "hello"

去空

trim:去除字符串两端的空白字符。

1
2
val str = "  Hello, World!  "
val trimmed = str.trim() // 返回 "Hello, World!"

分割

split:根据指定的分隔符拆分字符串为数组。

1
2
val str = "apple,banana,orange"
val fruits = str.split(",") // 返回 ["apple", "banana", "orange"]

类型转换

toInttoDoubletoFloat 等:将字符串转换为相应的数字类型。

1
2
val str = "42"
val num = str.toInt() // 返回 42

判断空

在 Kotlin 中,可以使用以下方法来判断一个字符串是否为空或者空字符串:

使用 isEmpty() 方法:该方法用于检查字符串是否为空字符串,即长度是否为 0。

1
2
3
4
5
6
val str = ""
if (str.isEmpty()) {
// 字符串为空
} else {
// 字符串不为空
}

使用 isNullOrEmpty() 方法:该方法用于同时检查字符串是否为 null 或为空字符串。

1
2
3
4
5
6
val str: String? = null
if (str.isNullOrEmpty()) {
// 字符串为空或为null
} else {
// 字符串不为空且不为null
}

使用 isNullOrBlank() 方法:该方法用于检查字符串是否为 null、空字符串或只包含空白字符。

1
2
3
4
5
6
val str = "   "
if (str.isNullOrBlank()) {
// 字符串为null、空字符串或只包含空白字符
} else {
// 字符串不为空且不只包含空白字符
}

简便写法

1
val cover = subTextbook.cover.ifEmpty { bookSetting.cover }

NULL字符串默认值

Kotlin中的?:就相当于JS中||

1
val appSizeStr = appItem.appSizeStr ?: ""

字符串转整数

建议先转Float再传Int。

1
rateStr.toFloat().toInt()

注意

字符串直接调用toInt(),如果字符串本身是浮点数的字符串,就会报错。