movie の変数があるとします。

const movie = "オズの魔法使";

movie の 1 番目の文字を取得してみます。

movie[0]

console.log();で確認すると、

image2

一文字目である、『オ』が表示されました。

変数の後に、[]を書き、[]の中に 0 から始まる数字を入れることで、指定の文字を取得することができます。

movie の文字列が何文字あるかを調べるには、.lengthを使用します。

movie.length

console.log();で確認すると、

image3

movie の文字列は、6 文字あることがわかりました。

特定の文字が何番目にあるかを調べるには、.indexOf()を使用します。

movie.indexOf("の")

console.log();で確認すると、

image4

2 と表示されましたが、カウントは 0 から始まるので、3 番目にあるかとがわかりました。

.indexOf は最初に出てくる文字が何番目にあるかを出力してくれます。

例えば、『オズの魔法使』を『オズの魔法使の』に変更してみると、

image5

結果は、変わりません。

この場合、最後に出力されるのが何番目かを調べ流には、.lastIndexOf()を使用します。

movie.lastIndexOf("の")

console.log();で確認すると、

image6

6 と表示されましたが、カウントは 0 から始まるので、7 番目にあるかとがわかりました。

また、複数文字でも検索できます。

const movie = "オズの魔法使";

console.log(movie.lastIndexOf("魔法"));

image7

『魔法』と言うワードは、4 番目にあることがわかりました。

特定の位置以降の文字列を取得するには、.slice(〇〇)を使用します。

『〇〇』の中には、特定の位置が入ります。

例えば、3 番目以降の文字列を取得したい時、『〇〇』の中に『3』を入れてしまうと、

console.log(movie.slice(3));

image8

4 番目の文字列から始まってしまいました。

これは、.indexOfと同様に、1 文字目の位置のカウントは 0 から始まるからです。

今回は、『〇〇』の中に『2』を入れます。

console.log(movie.slice(2));

image9

3 文字目からの取得ができました。

特定の範囲の文字を取得するには、.slice(〇〇,□□)と書きます。

『〇〇』の中には取得したい文字列のはじめの位置、『□□』は、取得したい文字列の位置が入ります。

気をつけていただきたいのは、例えば、3 番目から 5 番目の文字列を出力したい場合、

console.log(movie.slice(2, 4));

と書いてしまうと、

image10

なぜか、3 番目と 4 番目の文字列が出力されてしまいます。

これは、『□□』の指定の位置までカウントすると、出力をやめてしまうからです。

つまり、最後の文字列は含まれずに終了してしまいます。

正しい書き方は、こちらになります。

movie.slice(2, 5)

console.log();で確認すると、

image11

3 番目から 5 番目の文字が出力されました。

ブログ一覧