Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
文字列.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』に追記します。 |
サンプルコード
fun main() {
// カンマで分割します。
val csv = "りんご,みかん,ぶどう,もも"
val fruits = csv.split(",")
println(fruits) // [りんご, みかん, ぶどう, もも]
// 分割数を制限します。
val limited = csv.split(",", limit = 2)
println(limited) // [りんご, みかん,ぶどう,もも]
// 複数の区切り文字を指定します。
val text = "one two,three;four"
val words = text.split(" ", ",", ";")
println(words) // [one, two, three, four]
// リストを結合します。
val list = listOf("Kotlin", "Java", "Swift")
val joined = list.joinToString(separator = " / ")
println(joined) // Kotlin / Java / Swift
// 前置・後置文字列を付けます。
val withBrackets = list.joinToString(separator = ", ", prefix = "[", postfix = "]")
println(withBrackets) // [Kotlin, Java, Swift]
// 変換しながら結合します。
val numbers = listOf(1, 2, 3, 4, 5)
val result = numbers.joinToString(separator = " + ", transform = { it.toString() })
println(result) // 1 + 2 + 3 + 4 + 5
}
概要
『split()』は文字列を区切り文字で分割して『List<String>』を返します。正規表現を使いたい場合は『Regex』を引数に渡すことができます。区切り文字が連続している場合、空の文字列が結果リストに含まれます。不要な場合は『filter { it.isNotEmpty() }』で除外してください。
『joinToString()』はコレクションの要素を1つの文字列に結合します。引数はすべてデフォルト値を持ち、引数なしで呼び出すと要素をカンマ区切りで結合します。『limit』で最大要素数を制限し、超えた場合は『truncated』(デフォルト:「...」)が末尾に付きます。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。