【JavaScript】文字列の中の、特定の文字を取得する方法
movie の変数があるとします。
movie の 1 番目の文字を取得してみます。
console.log();で確認すると、
一文字目である、『オ』が表示されました。
変数の後に、[]を書き、[]の中に 0 から始まる数字を入れることで、指定の文字を取得することができます。
movie の文字列が何文字あるかを調べるには、.lengthを使用します。
console.log();で確認すると、
movie の文字列は、6 文字あることがわかりました。
特定の文字が何番目にあるかを調べるには、.indexOf()を使用します。
console.log();で確認すると、
2 と表示されましたが、カウントは 0 から始まるので、3 番目にあるかとがわかりました。
.indexOf は最初に出てくる文字が何番目にあるかを出力してくれます。
例えば、『オズの魔法使』を『オズの魔法使の』に変更してみると、
結果は、変わりません。
この場合、最後に出力されるのが何番目かを調べ流には、.lastIndexOf()を使用します。
console.log();で確認すると、
6 と表示されましたが、カウントは 0 から始まるので、7 番目にあるかとがわかりました。
また、複数文字でも検索できます。
『魔法』と言うワードは、4 番目にあることがわかりました。
特定の位置以降の文字列を取得するには、.slice(〇〇)を使用します。
『〇〇』の中には、特定の位置が入ります。
例えば、3 番目以降の文字列を取得したい時、『〇〇』の中に『3』を入れてしまうと、
4 番目の文字列から始まってしまいました。
これは、.indexOfと同様に、1 文字目の位置のカウントは 0 から始まるからです。
今回は、『〇〇』の中に『2』を入れます。
3 文字目からの取得ができました。
特定の範囲の文字を取得するには、.slice(〇〇,□□)と書きます。
『〇〇』の中には取得したい文字列のはじめの位置、『□□』は、取得したい文字列の位置が入ります。
気をつけていただきたいのは、例えば、3 番目から 5 番目の文字列を出力したい場合、
と書いてしまうと、
なぜか、3 番目と 4 番目の文字列が出力されてしまいます。
これは、『□□』の指定の位置までカウントすると、出力をやめてしまうからです。
つまり、最後の文字列は含まれずに終了してしまいます。
正しい書き方は、こちらになります。
console.log();で確認すると、
3 番目から 5 番目の文字が出力されました。
お知らせ
私事ですが、Udemyで初心者を対象にしたReactの動画コースを作成しました。
Reactについて興味がありましたら、ぜひ下のリンクからアクセスしてください。
詳しくはこちら(Udemyの外部サイトへ遷移します)