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)
}
}