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"))
println(str
.indexOf("IS",ignoreCase
= true))
println(str
.indexOf("is",5,ignoreCase
= true))
println(str
.lastIndexOf("is"))
println(str
.lastIndexOf("IS",ignoreCase
= true))
println(str
.lastIndexOf("is",5,ignoreCase
= true))
}
2.4 字符串比较
fun
main(args
: Array
<String>) {
var str1
:String
="hello"
var str2
:String
="hello"
var str3
=str1
println(str1
==str2
)
println(str1
==str3
)
println(str2
==str3
)
println(str1
.startsWith("he"))
println(str2
.endsWith("llo"))
println(str3
.startsWith("He"))
}
2.5 字符串截取
fun
main(args
: Array
<String>) {
var str
="hello my name is lucy"
println(str
.substring(5))
println(str
.substring(0,5))
println(str
.substring(0..5))
3.可变字符串
相关操作 append,insert,delete,replace 基本操作
fun
main(args
: Array
<String>) {
var str
=StringBuilder()
println(str
.append("hello"))
println(str
.insert(str
.length
," kotlin"))
println(str
.delete(0,str
.indexOf("kotlin")))
println(str
.replace(0,str
.length
,"java"))
}
4.正则表达式基本使用
4.1 字符串匹配
fun
main(args
: Array
<String>) {
var regex
=Regex("""\d+""")
var str
="hello 124"
var str1
="123456789"
println(regex
.matches(str
))
println(regex
.matches(str1
))
println(regex
.containsMatchIn(str
))
}
4.2 字符串查找
fun
main(args
: Array
<String>) {
var regex
=Regex("""\d+""")
var str
="A1B2c3d4e5"
println(regex
.find(str
)?.value
)
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"
regex
.split(str
)?.forEach
{
println(it
)
}
}