分割と結合
CoddyのKotlinジャーニー「ロジックとフロー」セクションの一部。レッスン 46/63。
trimは先頭と末尾の空白を削除します。splitは区切り文字を使ってテキストを複数の部分に分割し、joinToStringは選択した区切り文字を使って部分を結合します。これらの操作により、単純な区切り文字付き入力を正規化できます。ここでの区切り文字は正規表現ではなく、リテラルテキストです。
main 内:
val parts = " red, blue ,green ".trim().split(",").map { it.trim() }
println(parts.joinToString(" | "))コンマでフィールドを分割し、trim で各フィールドを整え、最後の区切り文字をフィールド間に挿入します。
フィールドを囲む空白を削除する必要がある場合は、分割した後に個々のフィールドをトリミングします。
チャレンジ
中級パラメータ text: String を使用して cleanFields を完成させてください。テキストをリテラルのカンマで分割し、各フィールドをトリミングして、空のフィールドを破棄します。残ったフィールドを入力順に返してください。
上記でより厳しい上限が指定されていない限り、コレクションは各レベルで最大100個の要素を含み、整数引数および整数コレクション値は -1000 から 1000 の範囲です。パース対象のテキストには、説明されているように無効な表現や範囲外の表現が含まれる場合があります。
型 List<String> の値を返してください。提供された入力/出力コードはそのまま使用してください。このコードはスカラー引数を1行に1つずつ読み取ります。リストは要素数に続いて各要素が始まり、マップはエントリ数に続いて各キーと値が始まります。ネストされたリストでは、各行について要素数と要素の形式が繰り返されます。提供された main は、戻り値の後に改行を1つ出力します。リストには Kotlin の標準的な角括弧形式を使用し、追加のラベルは出力しないでください。
自分で試してみよう
fun cleanFields(text: String): List<String> {
// ここに解答を書いてください。
return emptyList()
}
fun main() {
val text = readLine().orEmpty()
println(cleanFields(text))
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド