美文网首页
【runoob.4】字符串相关

【runoob.4】字符串相关

作者: 十旋转45度 | 来源:发表于2017-09-22 14:43 被阅读0次

    和 Java 一样,String 是可不变的。方括号 [] 语法可以很方便的获取字符串中的某个字符,也可以通过 for 循环来遍历:

    for (c in str) {
        println(c)
    }
    

    Kotlin 支持三个引号 """扩起来的字符串,支持多行字符串,比如:

    fun main(args: Array<String>) {
        val text = """
        多行字符串
        多行字符串
        """
        println(text)   // 输出有一些前置空格
    }
    

    String 可以通过 trimMargin() 方法来删除多余的空白。

    fun main(args: Array<String>) {
        val text = """
        |多行字符串
        |菜鸟教程
        |多行字符串
        |Runoob
        """.trimMargin()
        println(text)    // 前置空格删除了
    }
    

    默认 | 用作边界前缀,但你可以选择其他字符并作为参数传入,比如 trimMargin(">")。


    字符串模板

    $ 表示一个变量名或者变量值
    $varName 表示变量值
    ${varName.fun()} 表示变量的方法返回值:

    var a = 1
    // 模板中的简单名称:
    val s1 = "a is $a" 
    
    a = 2
    // 模板中的任意表达式:
    val s2 = "${s1.replace("is", "was")}, but now is $a"
    

    $在字符串里的表示方法

    原生字符串和转义字符串内部都支持模板。 如果你需要在原生字符串中表示字面值 $ 字符(它不支持反斜杠转义),你可以用下列语法:

    fun main(args: Array<String>) {
        val price = """
        ${'$'}9.99
        """
        println(price)  // 求值结果为 $9.99
    }
    

    when (language) {
            "EN" -> "Hello!"
            "FR" -> "Salut!"
            "IT" -> "Ciao!"
            else -> "Sorry, I can't greet you in $language yet"
        }
    

    相关文章

      网友评论

          本文标题:【runoob.4】字符串相关

          本文链接:https://www.haomeiwen.com/subject/wagxextx.html