【runoob.4】字符串相關(guān)

和 Java 一樣,String 是可不變的。方括號(hào) [] 語法可以很方便的獲取字符串中的某個(gè)字符,也可以通過 for 循環(huán)來遍歷:

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

Kotlin 支持三個(gè)引號(hào) """擴(kuò)起來的字符串,支持多行字符串,比如:

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

String 可以通過 trimMargin() 方法來刪除多余的空白。

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

默認(rèn) | 用作邊界前綴,但你可以選擇其他字符并作為參數(shù)傳入,比如 trimMargin(">")。


字符串模板

$ 表示一個(gè)變量名或者變量值
$varName 表示變量值
${varName.fun()} 表示變量的方法返回值:

var a = 1
// 模板中的簡(jiǎn)單名稱:
val s1 = "a is $a" 

a = 2
// 模板中的任意表達(dá)式:
val s2 = "${s1.replace("is", "was")}, but now is $a"

$在字符串里的表示方法

原生字符串和轉(zhuǎn)義字符串內(nèi)部都支持模板。 如果你需要在原生字符串中表示字面值 $ 字符(它不支持反斜杠轉(zhuǎn)義),你可以用下列語法:

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

when (language) {
        "EN" -> "Hello!"
        "FR" -> "Salut!"
        "IT" -> "Ciao!"
        else -> "Sorry, I can't greet you in $language yet"
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容