String.prototype.substring() は、文字列の一部を抽出して新しい文字列として返すメソッドです。このメソッドは、指定された開始位置と終了位置の間の部分文字列を取得するために使用されます[1]

構文

編集
str.substring(start, end)
  • start: 抽出を開始する位置のインデックス(0から始まる)。
  • end: 抽出を終了する位置のインデックス(この位置の文字は含まれない)。省略された場合は、文字列の末尾までが抽出されます。

部分文字列を抽出するプログラム

編集

以下のプログラムは、String.prototype.substring() を使用して文字列から部分文字列を抽出します。

const str = "Hello world!";
const result = str.substring(6, 11);
console.log(result); // "world"

このプログラムでは、String.prototype.substring() を使用して str 文字列の6番目から10番目の文字までを抽出しています。結果として "world" という新しい文字列が返されます。

start が end より大きい場合のプログラム

編集

以下のプログラムは、String.prototype.substring() を使用して startend より大きい場合の動作を示しています。

const str = "Hello world!";
const result = str.substring(11, 6);
console.log(result); // "world"

このプログラムでは、String.prototype.substring() を使用して startend より大きい場合の動作を示しています。substring() メソッドは startend の値を自動的に入れ替えるため、結果は substring(6, 11) と同じになり、"world" という文字列が返されます。

end パラメータを省略するプログラム

編集

以下のプログラムは、String.prototype.substring() を使用して end パラメータを省略します。

const str = "Hello world!";
const result = str.substring(6);
console.log(result); // "world!"

このプログラムでは、String.prototype.substring() を使用して str 文字列の6番目の文字から末尾までを抽出しています。end パラメータが省略されると、文字列の末尾までが抽出されるため、結果として "world!" という新しい文字列が返されます。

注意点

編集
  • 元の文字列は変更されない: このメソッドは元の文字列を変更せず、新しい文字列を返します。
  • インデックスの調整: 負のインデックスは 0 として扱われます。また、文字列の長さより大きいインデックスは文字列の長さとして扱われます。
  • start と end の入れ替え: startend より大きい場合、startend の値は自動的に入れ替えられます。これは slice() メソッドとは異なる動作です。
  • slice() との違い: substring() は負のインデックスを 0 として扱いますが、slice() は負のインデックスを文字列の末尾からのオフセットとして解釈します。

脚註

編集
  1. ^ これは、文字列から特定の開始位置と終了位置の間の部分文字列を抽出するために使用されます。

外部リンク

編集