String.prototype.slice()

概要

文字列の一部分を取り出し、新しい文字列を返します。

構文

str.slice(beginSlice[, endSlice])

引数

beginSlice
取り出しを開始する、0 から始まるインデックス。負の値を指定すると、文字列の最後尾からの位置を指します。例えば、-3 を指定した場合、 文字列の長さ - 3 を開始位置とします。
endSlice
取り出しを終了する、0 から始まるインデックス。省略された場合、slice メソッドは、文字列の最後までを取り出します。負の値を指定すると、文字列の最後尾からの位置を指します。例えば、-3 を指定した場合、 文字列の長さ - 3 を終了位置とします。

詳細

slice メソッドは、1 つの文字列からテキストを取り出し、新しい文字列を返します。一方の文字列におけるテキストへの変更は、他の文字列に影響を与えません。

slice メソッドは、endSlice を含まずにテキストを取り出します。string.slice(1, 4) は、2 番目から 4 番目までの文字 (1 番目、2 番目、3 番目にインデックスされた文字) を取り出します。

負の数のインデックスを指定したときは、endSlice は文字列の最後からのオフセットを示します。string.slice(2, -1) は、3 番目の文字から、文字列の最後の文字から数えて 2 番目の文字までを取り出します。

slice() メソッドを使用して新しい文字列をつくる

以下の例は、新しい文字列を生成するために slice メソッドを使用しています。

var str1 = 'The morning is upon us.';
var str2 = str1.slice(4, -2);

console.log(str2); // OUTPUT: morning is upon u

負の値を利用したslice() メソッド

var str = 'The morning is upon us.';
str.slice(-3);     // returns 'us.'
str.slice(-3, -1); // returns 'us'
str.slice(0, -1);  // returns 'The morning is upon us'

仕様

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.slice' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.slice' in that specification.
Standard  

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (有) (有) (有) (有) (有)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (有) (有) (有) (有) (有) (有)

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: mamodayo, teoli, ethertank, Mgjbot, Potappo, Yuichirou
 最終更新者: mamodayo,