Kotlin笔记字符串(二)

112 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

1.Kotlin种字符串相关知识

在这里插入图片描述

2.字符串定义

kotlin种字符串定义分为,普通的字符串和原始字符串,两者最主要的区别原始字符串不会对转义字符进行转义

2.1 普通字符串

fun main(args: Array<String>) {

  var str1="hello \n world"

    println(str1)

}
//输出
hello 
 world

2.2 原始字符串

注意 var str="" 系统已经为字符串分配空间和null不一样

fun main(args: Array<String>) {

  var str1="""hello \n world """

    println(str1)

}
// 输出
hello \n world 

2.不可变字符串

kotlin中不可变字符串和java中 String 性质差不多,对字符串的拼接修改等都会创建新的对象

2.1 字符串的拼接

字符串拼接 +或者+= 符号


fun main(args: Array<String>) {

 var str:String="hello"
    var str2:String="World"
    println(str+str2)

    str+=str2
    println(str)
}

2.2 字符串模板

$变量${} 表达式

fun main(args: Array<String>) {

var str:String ="Tom"

    println("hello $str")


    fun getName():String=str

    println("hello ${getName()}")

}

2.3 字符串查找

fun main(args: Array<String>) {

var str:String="this is my job is sleep"

    println(str.indexOf("is")) //this 中is 2

    println(str.indexOf("IS",ignoreCase = true))//this 中is  2

    println(str.indexOf("is",5,ignoreCase = true)) // is  15

    println(str.lastIndexOf("is")) // 15

    println(str.lastIndexOf("IS",ignoreCase = true)) //15

    println(str.lastIndexOf("is",5,ignoreCase = true)) //5



}

2.4 字符串比较

fun main(args: Array<String>) {

    var str1:String="hello"
    var str2:String="hello"
    var str3=str1
    println(str1==str2) // true
    println(str1==str3)// true
    println(str2==str3)// true

    println(str1.startsWith("he")) //true

    println(str2.endsWith("llo"))//true

    println(str3.startsWith("He"))//false

}

2.5 字符串截取

fun main(args: Array<String>) {

var str="hello my name is lucy"

    println(str.substring(5)) // my name is lucy

    println(str.substring(0,5)) // hello

    println(str.substring(0..5))// hello

3.可变字符串

相关操作 append,insert,delete,replace 基本操作

fun main(args: Array<String>) {

var str =StringBuilder()

    //添加内容
    println(str.append("hello")) //hello


    // 插入内容
    println(str.insert(str.length," kotlin")) //hello kotlin

    // 删除内容

    println(str.delete(0,str.indexOf("kotlin"))) //kotlin

    println(str.replace(0,str.length,"java")) //java
}

4.正则表达式基本使用

4.1 字符串匹配

fun main(args: Array<String>) {

var regex=Regex("""\d+""")

    var str="hello 124"
    var str1="123456789"

    // 精准匹配
    println(regex.matches(str)) //false

    println(regex.matches(str1)) // true

    //模糊匹配
    println(regex.containsMatchIn(str))// true
}

4.2 字符串查找

fun main(args: Array<String>) {

var regex=Regex("""\d+""")

  var str="A1B2c3d4e5"

    println(regex.find(str)?.value) //1

// 1,2,3,4,5
    regex.findAll(str)?.forEach {
        println(it.value)
    }
}

4.3 字符串查找

fun main(args: Array<String>) {

var regex=Regex("""\d+""")

  var str="A1B2c3d4e5"

    println(regex.replace(str," "))

}

4.4 字符串分割


fun main(args: Array<String>) {

var regex=Regex("""[a-zA-Z]""")

  var str="A1B2c3d4e5"
// 12345
   regex.split(str)?.forEach {
       println(it)
   }
}