4.字符串

一.字符串定义

1.第一种

fun main(args:Array) {
  val place1="广东省深圳市宝安区"
  println(place1)
  val place2="广东省\n深圳市\n宝安区"
  println(place1)
}

2.第二种,原样输出字符串

fun main(args:Array) {
  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) {
   val str2="""
       /张三
       /李四
       /王五
   """.trimMargin("/")
    println(str2)
}

trimIndent()可以删除字符串的空格,trimMargin()可以删除字符串空格和所传入的标识

三.字符串比较

fun main(args: Array) {
    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) {
    val str="张三.李四.王五-孙权-刘备"
    val split = str.split(".","-")
    println(split)
    split.forEach{value-> println(value)}
}

输出结果如下:


image.png

五.字符串截取

fun main(args: Array) {
    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

你可能感兴趣的:(4.字符串)