4.字符串
2019-09-24 本文已影响0人
写代码的向日葵
一.字符串定义
1.第一种
fun main(args:Array<String>) {
val place1="广东省深圳市宝安区"
println(place1)
val place2="广东省\n深圳市\n宝安区"
println(place1)
}
2.第二种,原样输出字符串
fun main(args:Array<String>) {
val place="""
广东省
深圳市
宝安区
""".trimIndent()
println(place)
}
实现原理就是加上换行符,转换成java代码可以看到,如下:
public final class Kotlin调用JavaKt {
public static final void main(@NotNull String[] args) {
Intrinsics.checkParameterIsNotNull(args, "args");
String place = "广东省\n深圳市\n宝安区";
boolean var2 = false;
System.out.println(place);
}
}
二.删除空格
fun main(args: Array<String>) {
val str2="""
/张三
/李四
/王五
""".trimMargin("/")
println(str2)
}
trimIndent()可以删除字符串的空格,trimMargin()可以删除字符串空格和所传入的标识
三.字符串比较
fun main(args: Array<String>) {
val str1 = "abc"
val str2= String(charArrayOf('a','b','c'))
//equals 比较值
println(str1.equals(str2))
//==比较的也是值
println(str1 == str2)
//===比较的是地址
println(str1 === str2)
}
输出结果如下:
image.png
四.字符串切割
fun main(args: Array<String>) {
val str="张三.李四.王五-孙权-刘备"
val split = str.split(".","-")
println(split)
split.forEach{value-> println(value)}
}
输出结果如下:
image.png
五.字符串截取
fun main(args: Array<String>) {
val path="/Users/zq/kotlin-book/chapter.adoc"
//获取前六个字符串
println(path.substring(0, 6))
println(path.substring(0..5))
//把第一个r之前的字符串截取
println(path.substringBefore("r"))
//把第一个r之前的字符串截取
println(path.substringAfter("r"))
//把最后一个r之前的字符串截取
println(path.substringBeforeLast("r"))
//把最后一个r之后的字符串截取
println(path.substringAfterLast("r"))
}
输出结果如下:
image.png