KotlinのstartsWith・endsWithを完全ガイド!文字列の先頭・末尾を判定しよう
生徒
「Kotlinで文字列が特定の言葉で始まっているか、終わっているかを調べる方法ってありますか?」
先生
「ありますよ。KotlinではstartsWithとendsWithという関数を使えば、文字列の先頭や末尾を簡単にチェックできます。」
生徒
「たとえば「https://」で始まっているURLかどうかって調べられるんですか?」
先生
「はい、それもstartsWithを使えばバッチリ判定できます。では、具体的に使い方を見ていきましょう!」
1. startsWithとは?文字列の先頭を調べるKotlinの基本機能
Kotlin(コトリン)のstartsWithは、「対象の文字列が特定のキーワードで始まっているか?」を一瞬で判定できる非常に便利な関数です。プログラミング初心者の方でも直感的に使いやすく、WebサイトのURLチェックや、名簿から特定の苗字の人を探すといった、データの振り分け作業に欠かせない基本機能です。
この関数は、条件に一致すればtrue(はい)、一致しなければfalse(いいえ)という結果を返します。この結果をif文と組み合わせることで、「もし○○で始まっていたら、この処理をする」というプログラムの流れを簡単に作ることができます。
まずは、具体的なイメージを持つために、URLが「https」で始まっているかどうかを判定する簡単なサンプルプログラムを見てみましょう。
fun main() {
// 調査対象の文字列を準備します
val url = "https://example.com"
// urlが「https://」で始まっているかチェックします
if (url.startsWith("https://")) {
// 当てはまる場合の処理
println("このサイトは安全な接続(https)で始まっています。")
} else {
// 当てはまらない場合の処理
println("このサイトは通常の接続(http)で始まっています。")
}
}
このサイトは安全な接続(https)で始まっています。
また、startsWithは検索機能の「前方一致」を実現する際にもよく使われます。例えば、果物の名前が入ったデータの中から「アップル」で始まるものだけを見つける、といった使い方も可能です。日常の言葉に近い感覚でコードが書けるため、Kotlinを学び始めたばかりの方でもスムーズに活用できるでしょう。
2. endsWithとは?文字列の末尾をチェックするKotlinの使い方
Kotlin(コトリン)のendsWithは、文字列の最後(末尾)が指定したキーワードで締めくくられているかを判定する関数です。先ほど紹介したstartsWithが「入り口」をチェックするのに対し、endsWithは「出口」をチェックする役割を持っています。
この機能は、特にファイル形式の判別や、入力されたデータの正当性を確かめるシーンで非常に重宝されます。たとえば、ユーザーがアップロードしたファイルが画像なのか、それともドキュメントなのかを、ファイル名の後ろに付く「拡張子」を見て自動で判断させることが可能です。
プログラミング未経験の方でも分かりやすいように、保存されたファイルが「写真データ(.jpg)」かどうかを判定するシミュレーションを確認してみましょう。
fun main() {
// 判定したいファイル名を用意します
val fileName = "summer_memory.jpg"
// 文字列の最後が「.jpg」で終わっているかチェック
if (fileName.endsWith(".jpg")) {
// 条件に一致する場合(true)
println("このファイルはJPEG画像です。写真として表示します。")
} else {
// 条件に一致しない場合(false)
println("JPEG画像ではありません。別の形式として処理します。")
}
}
このファイルはJPEG画像です。写真として表示します。
プログラムの世界では、こうした「お尻の文字の一致」を確認することを「後方一致」と呼びます。endsWithを使うことで、例えば「特定のドメインのメールアドレスか?」「住所の末尾が『市』で終わっているか?」といった複雑に見える判別も、たった1行のコードでスマートに実装できるようになります。シンプルながらも、実務での活用範囲が非常に広い重要なテクニックです。
3. KotlinのstartsWith・endsWithの注意点:大文字・小文字の違い
KotlinでstartsWithやendsWithを使うときは、「大文字」と「小文字」が区別されることに注意が必要です。
たとえば、「Hello」と「hello」は別物として扱われるので、想定と違う結果になる場合があります。
fun main() {
val greeting = "Hello, Kotlin!"
println(greeting.startsWith("hello")) // falseになる
}
false
大文字小文字を区別したくない場合は、すべてlowercase()などで変換してから使う方法があります。
fun main() {
val greeting = "Hello, Kotlin!"
println(greeting.lowercase().startsWith("hello")) // trueになる
}
true
4. Kotlinでメールアドレスや電話番号をチェックする例
startsWithやendsWithは、メールアドレスや電話番号のチェックにも使えます。
たとえば、「@gmail.com」で終わるメールだけを対象にしたいときはこう書きます。
fun main() {
val email = "example@gmail.com"
if (email.endsWith("@gmail.com")) {
println("Gmailのアドレスです")
}
}
Gmailのアドレスです
また、電話番号が「080」で始まっているか確認したいときは、次のようにします。
fun main() {
val phone = "08012345678"
if (phone.startsWith("080")) {
println("携帯電話番号です")
}
}
携帯電話番号です
このように、特定のルールに従った文字列を判定したいときに、KotlinのstartsWithとendsWithはとても便利です。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
5. startsWith・endsWithは文字列検索に最適なKotlin関数
たとえば、検索機能を作るとき、特定の言葉で始まるタイトルだけを表示したいときなどにも、KotlinのstartsWithはよく使われます。
また、特定の拡張子で終わるファイルだけを抽出したい場合にはendsWithを使えば簡単です。
文字列の一部分を調べたいとき、文字の先頭や末尾が特定の文字列と一致するかをチェックする処理は非常に多くのアプリやWebサービスで使われています。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験