JavaScriptで文字列を部分的に切り出したい場合、`substring()`メソッドを使用することで簡単に実現できます。この記事では、`substring()`メソッドの基本的な使い方から実践的な例まで、詳しく解説します。
substring()メソッドの基本構文
文字列.substring(開始位置, 終了位置)- 開始位置:切り出しを開始する位置(インデックス)
- 終了位置:切り出しを終了する位置(インデックス)※省略可能
基本的な使い方
const text = "JavaScript";
console.log(text.substring(0, 4)); // "Java"
console.log(text.substring(4)); // "Script"substring()メソッドの特徴
1. インデックスは0から開始
文字列の位置は0から数えます。
const str = "Hello";
console.log(str.substring(0, 2)); // "He"2. 終了位置は含まれない
終了位置の文字は結果に含まれません。
const str = "Hello";
console.log(str.substring(1, 4)); // "ell"3. 終了位置を省略可能
省略すると、文字列の最後まで切り出されます。
const str = "Hello World";
console.log(str.substring(6)); // "World"よくあるユースケース
1. 文字列の一部を抽出
const email = "user@example.com";
const domain = email.substring(email.indexOf("@") + 1);
console.log(domain); // "example.com"2. 文字列の最後から特定の長さを取得
const text = "このファイルは.pdfです";
const extension = text.substring(text.length - 4);
console.log(extension); // ".pdf"注意点
1. 負の数の扱い
負の数は0として扱われます。
const str = "Hello";
console.log(str.substring(-3, 4)); // "Hell"2. 開始位置が終了位置より大きい場合
自動的に位置が入れ替わります。
const str = "Hello";
console.log(str.substring(3, 1)); // "el"slice()メソッドとの違い
`substring()`の代わりに`slice()`メソッドを使用することもできますが、以下の違いがあります:
- `slice()`は負の数のインデックスを末尾からの位置として扱います
- `substring()`は負の数を0として扱います
const str = "Hello";
console.log(str.substring(-3)); // "Hello"
console.log(str.slice(-3)); // "llo"まとめ
- `substring()`は文字列から部分文字列を抽出するための基本的なメソッド
- 開始位置と終了位置を指定して使用
- 終了位置は省略可能
- 負の数は0として扱われる
- 文字列操作の基本的なメソッドとして頻繁に使用される
以上の知識を活用することで、JavaScriptでの文字列操作をより効率的に行うことができます。