文字列の先頭または末尾が指定の文字列かどうか判定する(startsWith, endsWith)

String オブジェクトのインスタンスメソッドである startsWith は、対象の文字列の先頭が指定の文字列かどうかを判定し true または false を返します。また endsWith は、対象の文字列の末尾が指定の文字列かどうかを判定し true または false を返します。ここでは String オブジェクトの startsWith および endsWith メソッドの使い方について解説します。

(Last modified: )

文字列の先頭を調べる(startsWith)

String オブジェクトの startsWith メソッドは、対象の文字列の先頭が指定した文字列かどうかを判別し true または false を返します。書式は次のとおりです。

文字列.startsWith(検索文字列 [, 開始位置])

最初の引数に検索する文字列を指定します。検索は文字列の先頭に対して行いますが、 2 番目の引数で開始位置を指定した場合は開始位置からの文字列と一致するかどうか検索します(位置はインデックスで指定し、デフォルトは 0 で)。指定した文字列が先頭と一致すれば true を返し、一致しなかった場合は false が返ります。

次のサンプルをみてください。

let str = '東京都千代田区';

console.log(str.startsWith('東京'));
>> true
console.log(str.startsWith('京都'));
>> false
console.log(str.startsWith('京都', 1));
>> true

検索する文字列として '東京' を指定した場合は true を返しますが、 '京都' を指定した場合は false を返します。ただ開始位置として 1 を指定すると対象の文字列が '京都千代田区' と見なされるので、 検索する文字列として '京都' を指定すると true が返されます。

文字列の末尾を調べる(endsWith)

String オブジェクトの endsWith メソッドは、対象の文字列の末尾が指定した文字列かどうかを判別し true または false を返します。書式は次のとおりです。

文字列.endsWith(検索文字列 [, 文字列の長さ])

最初の引数に検索する文字列を指定します。検索は文字列の末尾に対して行いますが、 2 番目の引数で文字列の長さを指定した場合、指定した長さの末尾と一致するかどうか検索します(インデックスではなく文字数を指定する点に注意してください)。指定した文字列が末尾と一致すれば true を返し、一致しなかった場合は false が返ります。

次のサンプルをみてください。

let str = 'baseball';

console.log(str.endsWith('all'));
>> true
console.log(str.endsWith('eba'));
>> false
console.log(str.endsWith('eba', 6));
>> true

検索する文字列として 'all' を指定した場合は true を返しますが、 'eba' を指定した場合は false を返します。ただ文字列の長さとして 6 を指定すると対象の文字列が 'baseba' と見なされるので、 検索する文字列として 'eba' を指定すると true が返されます。

-- --

String オブジェクトの startsWith および endsWith メソッドの使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。