言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

Kotlin辞典

  1. トップページ
  2. Kotlin辞典
  3. 文字列.split() / joinToString()

文字列.split() / joinToString()

文字列を区切り文字で分割したり、コレクションの要素を区切り文字で結合して文字列にするための関数です。

構文

// 文字列を区切り文字で分割してリストを返します。
文字列.split(区切り文字, limit = 最大分割数)

// コレクションの要素を区切り文字で結合して文字列を返します。
コレクション.joinToString(separator = 区切り文字, prefix = 前置文字列, postfix = 後置文字列)

メソッド一覧

メソッド概要
split(vararg delimiters: String)文字列を指定した区切り文字で分割し、『List<String>』を返します。
split(vararg delimiters: Char)文字列を指定した文字で分割し、『List<String>』を返します。
joinToString(separator, prefix, postfix, limit, truncated, transform)コレクションの要素を結合して文字列を返します。各引数はすべて省略可能です。
joinTo(buffer, separator, ...)結合結果を既存の『Appendable』に追記します。

サンプルコード

sample_string_split_join.kt
fun main() {
    // カンマで分割します。
    val csv = "item_a,item_b,item_c,item_d"
    val parts = csv.split(",")
    println(parts) // [item_a, item_b, item_c, item_d]

    // 分割数を制限します。
    val limited = csv.split(",", limit = 2)
    println(limited) // [item_a, item_b,item_c,item_d]

    // 複数の区切り文字を指定します。
    val text = "one two,three;four"
    val words = text.split(" ", ",", ";")
    println(words) // [one, two, three, four]

    // リストを結合します。
    val list = listOf("item_a", "item_b", "item_e")
    val joined = list.joinToString(separator = " / ")
    println(joined) // item_a / item_b / item_e

    // 前置・後置文字列を付けます。
    val withBrackets = list.joinToString(separator = ", ", prefix = "[", postfix = "]")
    println(withBrackets) // [item_a, item_b, item_e]

    // 変換しながら結合します。
    val numbers = listOf(1, 2, 3, 4, 5)
    val result = numbers.joinToString(separator = " + ", transform = { it.toString() })
    println(result) // 1 + 2 + 3 + 4 + 5
}

コンパイルして実行すると次のようになります。

kotlinc string_split_join.kt -include-runtime -d string_split_join.jar
java -jar string_split_join.jar
[item_a, item_b, item_c, item_d]
[item_a, item_b,item_c,item_d]
[one, two, three, four]
item_a / item_b / item_e
[item_a, item_b, item_e]
1 + 2 + 3 + 4 + 5

概要

『split()』は文字列を区切り文字で分割して『List<String>』を返します。正規表現を使いたい場合は『Regex』を引数に渡すことができます。区切り文字が連続している場合、空の文字列が結果リストに含まれます。不要な場合は『filter { it.isNotEmpty() }』で除外してください。

『joinToString()』はコレクションの要素を1つの文字列に結合します。引数はすべてデフォルト値を持ち、引数なしで呼び出すと要素をカンマ区切りで結合します。『limit』で最大要素数を制限し、超えた場合は『truncated』(デフォルト:「...」)が末尾に付きます。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。