【JavaScript】slice()の使い方

【JavaScript】slice()の使い方

slice()ってなに?

JavaScriptで文字列の一部を抽出するmethodが、slice()です。

たとえば、mozillaという文字列からmoだけ取り出したい場合、次のようにコードを書きます。

let str = 'mozilla';
str.slice(0, 2);

1行目は、’mozilla’ という文字列を、strという変数に入れています。
2行目で、’mozilla’ という文字列から’mo’という文字列だけ抽出しています。
これをブラウザのディベロッパーモードにあるコンソールに入力すると、”mo”と表示されますね。

slice()の構文

では、slice()はどのような構造になっているのでしょうか。

まず、1つ目の引数は、抽出する最初の文字について、ポジションを指定します。

今回は頭の’m’から抽出したいので、’m’の位置を指定します。

コンピュータは0から順番をカウントするので、1番最初の文字のポジションは、0です。

str[0];

これをコンソールに入れると、”m”と返ってきますね。

 

次に、2つ目の引数は、「ここから先はいりません」という文字のポジションを指定します。

上の例で、’mo’ ‘zilla’ と分けると、z以降はいりません。なので、’z’の位置を指定します。

頭から数えて3番目、コンピュータは0から数えるので、0, 1, 2・・・2が’z’の位置です。

str[2];

“z”と出てきますね。zの位置は、2です。

 

まとめると、 ‘mozilla’という文字列から’mo’を取り出したい場合は、

let str = 'mozilla'; 
str.slice(0, 2);

とコードを書けばOKです。

 

2つ目の引数が、「ここから先はいりません」という文字の位置を指定する。

少しわかりづらい点かもしれませんが、それさえわかれば使いやすいmethodです。

 

先頭の文字から〇文字目を抜き出したい場合は、第2引数が抜き出したい文字数と一致します。

では、文字列の途中から、一部の文字を抜き出したい場合はどうすればよいでしょうか。

文字列の途中から一部を抜き出したい場合

上の構文通りに書けば、抜き出せます。

たとえば、 ‘mozilla’ という文字列から、’zi’を抜き出したい場合

str.slice(2, 4);

‘z’の位置: 2

‘l’の位置: 4 (最初のl)

ここから先はいらないという部分は1つ目の’l’以降(’lla’)なので、1つ目の’l’の位置を第2引数に指定します。

ちなみに、上のコードは、strという変数に’mozilla’ という文字列が入っているという前提でのコードです。

 

文字列の途中から最後の文字までを抜き出したい場合

slice()の第2引数は省略することができます。

たとえば、’mozilla’ という文字列から、’lla’を抜き出したい場合、「ここから抜き出したい」という第1引数だけ指定すればOKです。

そうすると、文字列の最後まで抜き出してくれます。

str.slice(4);

 

参考にしたサイト

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Useful_string_methods

 

JavaScriptカテゴリの最新記事