Kotlin笔记字符串(二)

it2024-04-09  45

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) } }
最新回复(0)