JavaScriptのsubstring()
メソッドは、文字列の一部分を取得するための便利なメソッドです。文字列の操作をする際に頻繁に使われるため、基本的な使い方や注意点をまとめていきたいと思います。
substring()
は、指定した開始位置と終了位置の間にある文字列を抽出します。
JavaScript
文字列.substring(開始位置, 終了位置);
開始位置
:抽出を開始するインデックス(0から始まる)終了位置(省略可能)
:抽出を終了するインデックス(この位置の文字は含まれない)
JavaScript
const text = 'Chocolate';
console.log(text.substring(0, 4)); // "Choc"
JavaScript
const text = 'Chocolate';
console.log(text.substring(4)); // "olate"
JavaScript
const text = 'Chocolate';
console.log(text.substring(4, 0)); // "Choc"(開始位置と終了位置が入れ替わる)
substring()
では、開始位置が終了位置より大きい場合、自動的に値が入れ替わります。
HTML
const text = 'Chocolate';
console.log(text.substring(-3, 4)); // "Choc"(-3 は 0 として扱われる)
HTML
const text = 'Hello, Coffee!';
const newText = text.substring(0, 5) + ' Donut!';
console.log(newText); // "Hello Donut!"
JavaScript
const filename = 'document.pdf';
const nameWithoutExt = filename.substring(0, filename.lastIndexOf('.'));
console.log(nameWithoutExt); // "document"
負のインデックスは 0
として扱われるため、負の値を使用した場合、意図しない結果になることがあります。
JavaScript
console.log("Chocolate".substring(-2, 3)); // "Cho"
JavaScript
console.log('Chocolate'.substring(2, 100)); // "ocolate"
100
は Chocolate
の長さを超えているため、末尾まで取得されます。
substring()
は文字列の一部分を取得するためのメソッドです。- 負の値を指定すると
0
として扱われます。 - 開始位置と終了位置が逆でも動作します。
- 大きすぎる値を指定すると文字列の末尾まで取得されます。