Kotlin基础知识:字符串

抓住今天,尽可能少的信赖明天。 喝汤能补 (* ^ ▽ ^ *)

前言

  该文章作为学习交流,如有错误欢迎各位大佬指正 (* ^ ▽ ^ *)

  • 自身技能
    (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对字符串拼接和格式化输出,使用了字符串模板,具体表现为:

  1. 在字符串中进行变量输出,语法格式${变量}
fun test10() {
    var num = 8

    var addStr = " num is ${num}"
    println(addStr)
}
  1. 在字符串中进行变量输出,可以省去大括号,语法格式$变量
fun test11() {
    var num2 = 10

    var str = " num2 is $num2"
    println(str)
}
  1. 在字符串中调用其他方法,语法格式${方法()}
fun test12() {
    var str = " result is ${getRet()}"
    println(str)
}

fun getRet(): String {
    return "error!"
}
  1. 在字符串中执行表达式, 语法格式${表达式}
fun test13() {
    var ret = "09,0x11,0x23,0xA1"
    println(" Hex is ${ret.replace(",0x"," ")}")
}

觉得有帮助的点下赞哟,毕竟三连步骤更多,嘻嘻,谢谢大家的支持(* ^ ▽ ^ *)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值