抓住今天,尽可能少的信赖明天。 喝汤能补 (* ^ ▽ ^ *)
前言
该文章作为学习交流,如有错误欢迎各位大佬指正 (* ^ ▽ ^ *)
- 自身技能
(1)已具备计算机的基本知识 - 本文简介
主要讲解:字符串,以及字符串处理相关函数。
Kotlin相比于 Java
- 字符串遍历
- split 传入参数不是正则
- 拆分支持多字符
- 字符串截图多了很多方法
- 去空格多了方法
- 支持三重引号
- 字符串模板
遍历
字符串遍历转换成一个个的 Char 类型。
fun test() {
var str = "增加遍历"
for (s in str) {
println(s)
}
}
分割与正则
Kotlin中split函数,默认不会把传入的参数当做正则表达式。同时Kotlin 的 split 方法还允许传入多个拆分符。
fun test2() {
val str = "推荐;关注;热搜;影视"
val strs = str.split(";")
for (s in strs) {
println(s)
}
}
fun test3() {
val str = "关注;热搜;影视+同城+学习"
val strs = str.split(";","+")
for (s in strs) {
println(s)
}
}
如果将传入的参数作为正则表达式,则需要使用toRegex函数。eg:
fun test4() {
val str = "关注;热搜;影视;学习"
val strs = str.split(";".toRegex())
for (s in strs) {
println(s)
}
}
截取函数
kotlin提供的截取函数比较多,如substring、substringBeforeLast、substringAfterLast
fun test6() {
val str = "关注;热搜;影视+同城+学习"
println("--> ${str.substringBeforeLast("+")}")
println("--> ${str.substringAfterLast("+")}")
}
fun test5() {
val str = "关注;热搜;影视+同城+学习"
println("--> ${str.substring(2,6)}")
}
去空格
- trim:去除字符串前后空格
- trimStart:去除字符串前面空格
- trimEnd:去除字符串后面空格
- trimMargin:去除每行前面的空格
fun test7() {
val str = " < Version > V1.2.3 TS "
println(str.trim())
println(str.trimStart())
println(str.trimEnd())
}
fun test8() {
val str =""" |1Version
|2Version
|3Version
|end
""".trimMargin()
println(str.trimMargin())
}
三重引号
特殊字符,需要用到转义字符串,比如\t,\b,\n,\r。Kotlin 除了前面的转义字符串方式,还可以由三重引号(”””)分割,可以直接包含任意的特殊字符。
fun test9() {
// 转义字符
val str = "数据位\n为结束标志"
println(str)
// """ 符号中,可输入任意格式
val strLin = """
数据位
为结束标志 tab缩进
"""
println(strLin)
}
字符串模板
Kotlin对字符串拼接和格式化输出,使用了字符串模板,具体表现为:
- 在字符串中进行变量输出,语法格式${变量}
fun test10() {
var num = 8
var addStr = " num is ${num}"
println(addStr)
}
- 在字符串中进行变量输出,可以省去大括号,语法格式$变量
fun test11() {
var num2 = 10
var str = " num2 is $num2"
println(str)
}
- 在字符串中调用其他方法,语法格式${方法()}
fun test12() {
var str = " result is ${getRet()}"
println(str)
}
fun getRet(): String {
return "error!"
}
- 在字符串中执行表达式, 语法格式${表达式}
fun test13() {
var ret = "09,0x11,0x23,0xA1"
println(" Hex is ${ret.replace(",0x"," ")}")
}
觉得有帮助的点下赞哟,毕竟三连步骤更多,嘻嘻,谢谢大家的支持(* ^ ▽ ^ *)