Kotlinの文字列の部分取得!substring・take・dropの基本
生徒
「Kotlinで文字列の一部だけを取り出す方法ってありますか?」
先生
「はい、Kotlinではsubstringやtake、dropといったメソッドを使って、簡単に文字列の一部分を取り出すことができますよ。」
生徒
「それぞれの使い方を具体的に知りたいです!」
先生
「では順番に、基本的な使い方から一緒に見ていきましょう!」
1. substringメソッドの使い方とは?
Kotlinのsubstring(サブストリング)メソッドは、文字列の一部を抜き出すために使います。「ある文字列の中から、何文字目から何文字目までを取り出したい」というときに便利です。
例えば「Apple」という文字列から「pp」だけを取り出したいときに使えます。
fun main() {
val word = "Apple"
val part = word.substring(1, 3)
println(part)
}
pp
substring(開始位置, 終了位置)の形式で使います。「開始位置」は含まれ、「終了位置」は含まれないのがポイントです。つまり、上記の例では1文字目(p)から3文字目(lの前)までを取り出す、という意味になります。
2. takeメソッドで先頭から指定文字数を取り出す
take(テイク)メソッドは、「先頭から〇文字だけ欲しい」というときに使う便利な方法です。たとえば、文章の冒頭だけを取り出して表示したいときなどに使います。
fun main() {
val sentence = "KotlinProgramming"
val head = sentence.take(6)
println(head)
}
Kotlin
takeに渡す数字は「何文字欲しいか」を表します。take(6)とすれば、先頭から6文字をそのまま取り出せます。とてもシンプルで読みやすい構文ですね。
3. dropメソッドで先頭から〇文字を捨てる
drop(ドロップ)メソッドは、「先頭から〇文字を飛ばしたい」「先頭の不要な部分をスキップしたい」というときに使います。
fun main() {
val text = "HelloWorld"
val result = text.drop(5)
println(result)
}
World
drop(5)とすると、先頭から5文字を「捨てて」、それ以降の文字列を取り出します。つまり、「HelloWorld」のうち「Hello」を捨てて「World」だけを表示することができます。
4. takeLast・dropLastで末尾から操作する
takeやdropには「末尾」から処理するバージョンもあります。それがtakeLastとdropLastです。文字列の最後の数文字を使いたいときに便利です。
fun main() {
val text = "Programming"
println(text.takeLast(3))
println(text.dropLast(3))
}
ing
Programm
takeLast(3)は末尾から3文字を取り出し、dropLast(3)は末尾の3文字を捨てて残りを取り出します。特定のファイル拡張子や、日付の一部を取り出すときにとても役立ちます。
5. 文字列が短すぎるとエラーになる?
substringは指定した位置に文字が存在しないとエラーになります。たとえば「abc」という3文字の文字列でsubstring(2, 5)のように、存在しない範囲を指定するとクラッシュします。
一方でtakeやdropは、文字数が足りなくてもエラーにならず、可能な範囲だけ処理してくれます。
fun main() {
val str = "Hi"
println(str.take(10)) // "Hi" のまま
println(str.drop(10)) // 空文字になる
}
Hi
このように、takeやdropはとても安全なメソッドです。入力文字列がどんな長さでも問題なく動作するので、初心者でも安心して使えます。
6. 実生活の例で考える文字列の部分取得
たとえば「こんにちは、田中さん」という文字列があったとき、「田中さん」だけを取り出したい場合、名前の始まり位置がわかっていればsubstringで取り出せます。
fun main() {
val greeting = "こんにちは、田中さん"
val name = greeting.substring(6)
println(name)
}
田中さん
substring(6)のように、開始位置だけを指定すると、そこから最後までを取り出せます。
7. 文字列操作の基本をマスターしよう
Kotlinでの文字列操作は、プログラミングにおいて非常に重要な基本スキルです。データの中から必要な部分だけを抜き出すことは、どんなアプリを作るときでも役に立ちます。
今回紹介したsubstring、take、dropの3つの使い方は、文字列を扱う場面でとてもよく登場します。
慣れないうちは、実際にいろんな文字列で試してみるのが一番です。「名前だけを取り出す」「日付の年だけを抜き出す」「ファイルの拡張子を取り除く」など、自分の身近な例で練習してみましょう。