Kotlin substring 文字列を切り出す

Kotlinのsubstringで文字列を切り出すサンプルです。

目次

サンプル 文字列の一部を切り出す(引数2つ)
  文字列の途中から最後までを切り出す(引数1つ)
  文字列の後ろから切り出す(length)

文字列の一部を切り出す(引数2つ)

public actual inline fun String.substring(開始位置, 終了位置): String
  • 1つめの引数は、文字を切り出す開始位置です。
  • 2つめの引数は、文字の切り出しの終了位置です。文字数ではありません
  • 最初の1文字目の位置は0です。
fun main() {
    val a = "あいうえお"

    println(a.substring(0, 1)) // あ
    println(a.substring(1, 2)) // い
    println(a.substring(2, 3)) // う

    println(a.substring(0, 3)) // あいう
    println(a.substring(2, 4)) // うえ

    val b = "abcde"

    println(b.substring(0, 1)) // a
    println(b.substring(1, 2)) // b
}

4~6行目は、指定の位置から1文字取得しています。
8行目は、最初の文字「あ」から3文字取得しています。
9行目は、途中にある文字の「う」から2文字取得しています。
11行目は、半角文字の場合です。

 

文字列の途中から最後までを切り出す(引数1つ)

public actual inline fun String.substring(開始位置): String

1つめの引数の開始位置から最後までの文字を返します。

fun main() {
    val a = "あいうえお"

    println(a.substring(1)) // いうえお
    println(a.substring(2)) // うえお
    println(a.substring(3)) // えお
    println(a.substring(4)) // お
}

 

文字列の後ろから切り出す(length)

lengthで文字列の長さを取得して引き算します。

fun main() {
    val a = "あいうえお"

    println(a.substring(a.length - 1)) // お
    println(a.substring(a.length - 2)) // えお
    println(a.substring(a.length - 3)) // うえお
}

関連の記事

[Kotlin] indexOf 文字列の位置を取得

△上に戻る