JavaScript/String/prototype/substring
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()
を使用して start
が end
より大きい場合の動作を示しています。
const str = "Hello world!"; const result = str.substring(11, 6); console.log(result); // "world"
このプログラムでは、String.prototype.substring()
を使用して start
が end
より大きい場合の動作を示しています。substring()
メソッドは start
と end
の値を自動的に入れ替えるため、結果は 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 の入れ替え:
start
がend
より大きい場合、start
とend
の値は自動的に入れ替えられます。これはslice()
メソッドとは異なる動作です。 - slice() との違い:
substring()
は負のインデックスを0
として扱いますが、slice()
は負のインデックスを文字列の末尾からのオフセットとして解釈します。
脚註
編集- ^ これは、文字列から特定の開始位置と終了位置の間の部分文字列を抽出するために使用されます。
外部リンク
編集