[Dart / Flutter]文字列が指定された文字列で始まるか・終わるかを判定 startsWith() , endsWith()

文字列が特定の文字やフレーズで始まるか、または終わるかを知りたくなることがあります。そんな時に役立つのが、startsWith()endsWith()の2つのメソッドです。

文法・構文形式

bool str.startsWith(Pattern pattern, [int index = 0])

bool str.endsWith(String other)

  • str: 検証したい文字列。
  • pattern: 判定したい部分文字列やパターン。
  • other: 終端を判定したい部分文字列。
  • index (オプション): startsWithでの検索を開始する位置。

startsWith()メソッドは、文字列strが特定のpatternで始まるかを確認します。返される値は真偽値で、始まっていればtrue、そうでなければfalseとなります。endsWith()メソッドは、文字列strが特定のother文字列で終わるかどうかを確認します。

利用場面

  • ファイル名が特定の拡張子で終わるかを確認する場面。
  • HTTP URLがhttpsで始まっているか確認したい時。

基本的な使用方法

endsWithを利用して、最後の文字列が「.png」かどうかを判定

String fileName = "image.jpeg";
bool endsWithPng = fileName.endsWith(".png");  // false

startsWithを利用して、最初の文字列が「https」かどうかを判定

String fileName = "https://punaime.jp/";
bool startsWithImg = fileName.startsWith("https");  // true

startsWithで開始位置を指定

5文字目以降の文字列が「is」で開始されているかを判定

String text = "Dart is awesome. Dart is fun.";
bool startsWithIs = text.startsWith("is", 5);  // true

メリット
  • 文字列の開始部分や終端部分の情報を簡単に知ることができる。
  • 簡単で直感的なメソッド名で、読むだけでその機能が理解できる。
デメリット
  • startsWithは特定の位置からの検証はできますが、終了位置を指定することはできません。