Part11:文字列

海未「今回は文字列です。それほど難しいところはないと思いますから、きちんと理解してください」

海未「基本データ型のところで文字列の話はしましたから、簡単に復習です。""''で囲って文字列リテラルを書けました。++=で連結ができました。覚えていますね?」
ことり「うん、大丈夫だよ」
海未「主に穂乃果に聞いています」
穂乃果「やだなあ海未ちゃん、さすがに覚えてるって」
海未「若干目が泳いでいるのは見逃してあげましょう・・・さて、文字列には、基本的な操作のための様々なメソッドが用意されています。それらを組み合わせれば複雑な文字列処理を実現できるのです」

海未「はじめに、基本的な呼び出し方を見てみましょう」

海未「lengthは文字列の長さを返すプロパティですが、このように変数に入った文字列に対して使うことも、文字列リテラルに対して直接使うこともできます」
ことり「リテラルに直接メソッド使うのって、数値でもできたの?」
海未「いえ、これができるのは文字列と配列ですね。数値の場合、小数点と見分けがつきませんから・・・」
ことり「あ、そういえばそうだね」

海未「まずは特定の1文字を取得するところからいきましょう。文字列は配列と同じで、0から始まるインデックスを持っています。それを指定すると」

海未「このように3文字目を取得できます」
穂乃果「書き方2つあるけど、全く同じ?」
海未「はい。ですから、短く書くために[]を使うことが多いですね」

海未「探したい文字があって、それがどこにあるかを探すのがindexOflastIndexOfです」

海未「indexOfは最初に見つかった位置、この場合は0文字目なので0を返します。lastIndexOfは最後に見つかった位置なので2ですね」
穂乃果「これさ、探したい文字がたくさん入ってて、そのうち2番目を探したい、みたいな場合どうするの?」
海未「そうですね・・・2番目と決まっているのであれば」

海未「indexOfは第2引数で探索開始位置を指定できます。それを利用して、1番目の次の文字から探すといいでしょう」
ことり「3番目とか4番目でもループで探していけばよさそうだね」

海未「そもそも探したい文字があるかという問題もありますね。indexOfを使った際に文字が見つからないと-1を返すのですが、専用のメソッドもあります」

海未「includesを使うと、存在検査の結果を真偽値で返してくれます」
ことり「こっちの方が、きれいかな」

海未「文字列の分割をやってみましょう」

海未「指定した文字、この場合はスペースで文字列を区切って配列にして返します」
穂乃果「うん、穂乃果でもわかるよ」

海未「部分文字列の抜き出しも、きっと穂乃果でもわかりますよ」

海未「slicesubstringの動きは同じようなものです。何文字目から何文字目という範囲を指定します」
穂乃果「うん、穂乃果でも・・・あれ?」
ことり「どうかしたの?」
穂乃果「3文字目から、はいいんだけど、6文字目まで、ってその6文字目は入らないんだね」
ことり「そっか、slice(3, 5)って書きたくなっちゃうよね」
海未「確かに、そこははまりどころかもしれないですね。substrは先頭位置と文字数ですから、分かりやすいかもしれません」

海未「もう1つくらい見ておきましょうか。アルファベットを大文字や小文字に変換するtoUpperCasetoLowerCaseです」

海未「JavaScriptは基本的に大文字と小文字を区別しますから、区別せずに比較したい場合にどちらかに揃えてから比較する、といった使い方があります」

海未「Stringオブジェクトの話はこのくらいにしますが、最後にテンプレート文字列の説明をしておきますね」

海未「文字列をバッククオートで囲むと、中に式を書くことができます。${}の部分ですね」
ことり「+でつなげたりしなくていいんだ。読みやすいね」


穂乃果「今回は知恵熱でなかったよっ!」
海未「最初にそれほど難しくないと言ったはずですが」
穂乃果「ことりちゃーん!海未ちゃんが冷たいよーっ!」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です