目次
JavaScriptのsubstring()メソッドとは
substring()はJavaScriptにおけるString型のメソッドであり、文字列の開始と終了のインデックスを指定し、そのインデックス間の文字列を返します。
文字列.substring(startIndex, endIndex)
- startIndex:返される部分文字列の最初の文字のインデックスを指定する
- endIndex:返される部分文字列から除外する最初の文字のインデックスを指定する
上記からも分かるように、返される部分文字列はendIndexにある文字を含まみません。
substring()メソッドを使用する際の注意点
substring()メソッドを使用する際に気をつけるべきポイントをまとめると以下の通りです。
- 第2引数を省略した場合、文字列の末尾までの部分文字列を返す
- 第1引数が第2引数と等しい場合、空の文字列を返します
- 第1引数が第2引数より大きい場合、substring()は両者の役割を交換する。つまり、startIndexは第2引数になり、第2引数はstartIndexとなる
- 第1引数と第2引数のいずれかが0より小さい、またはstring.lengthより大きい場合、substring() はそれぞれ 0、string.length と見なします。
- 引数がNaNの場合、0として扱う
substring()メソッドを使用したコード例
以下の3つの例でsubstring()メソッドの具体的な使い方を解説します。
- 文字列の先頭から部分文字列を抽出する
- 文字列の末尾にある部分文字列を抽出する
- メールアドレスからドメイン部分を取得する
文字列の先頭から部分文字列を抽出する
以下は、substringメソッドを使用して、文字列の先頭から始まる部分文字列を抽出する処理です。
let sampleString1 = 'I like baseball';
let resultSubstring1 = sampleString1.substring(0,6);
console.log(resultSubstring1); // 'I like'
文字列の末尾にある部分文字列を抽出する
次の例では、substring()を使って、sampleString2の7文字目より後ろから最後までの部分文字列を抽出しています。
let sampleString2 = 'I like baseball';
let resultSubstring2 = sampleString1.substring(7);
console.log(resultSubstring2); // 'baseball'
メールアドレスからドメイン部分を取得する
substring()とindexOf()を使用すると、メールアドレスからドメインを取得することができます。
let email = 'koji.tanaka@gmail.com';
let domain = email.substring(email.indexOf('@') + 1);
console.log(domain); // gmail.com
なお、JavaScriptのindexOf()メソッドの使い方については下記にて詳しく解説してます。
》【JavaScript】indexOf()で文字列を検索する方法をわかりやすく解説