JavaScriptで文字列を扱う「String」の基本JavaScript標準ライブラリの使い方超入門(2)(2/4 ページ)

» 2016年10月03日 05時00分 公開
[金城俊哉]

lengthプロパティで文字列の長さを求める

theme

lengthプロパティで文字列の長さを調べて、これを表示する。


Navigator

lengthプロパティは、文字数を表わす数値型の値を返します」


英字と日本語の文字の長さをそれぞれ求める

lengthプロパティは日本語のような全角文字も1文字として数える。
Navigator

「JavaScriptではUnicodeを基本としますので、日本語のような全角文字も1文字として数えます。文字数を調べるときの書き方は、対象の文字列とlenghtをメンバー演算子『.』で区切って記述します。オブジェクトを操作するときの『何を』『どうする』の書き方です」


lengthプロパティを使う
Driver

「『変数名.プロパティ名』という書き方ですね。このように書けば、変数に格納された文字列が、Stringオブジェクトとして扱われるようになるんですよね。では、lengthプロパティで文字列の長さを調べてみるコードを書いてみます」


文字列の長さを表示する(String_length.html)
実行結果

特定の文字列の位置を調べる

theme

文字列の中から、特定の文字を指定し、その文字の位置を画面に表示する。ただし、文字の位置を示すインデックス値をそのまま表示すること。


Navigator

「今度は、Stringオブジェクトのメソッドを使ってみましょう。メソッドもプロパティと同様に、『変数名.メソッド名()』の書き方で利用することができます。メソッド名のあとの()は、メソッドに渡す引数を書く部分です」


Driver

「引数を書かなくてもいいメソッドもありますよね」


Navigator

「その場合は、()の中は空のままでいいです」


メソッドを呼び出す

文字位置を示すインデックス値を取得する

Navigator

indexOf()は、文字列の先頭から特定の文字列を検索して、この文字列の先頭位置を示すインデックスを返すメソッドです。インデックスとは、文字の位置を示す0から始まる通し番号のことです。'こんにちは'の『ん』のインデックスは『1』になります。なお、指定した文字列がなかった場合は-1が返されます」


Driver

「インデックス値は『0』から始まることに気を付けなきゃいけませんね」


Navigator

「一方、『lastIndexOf()』というメソッドは、『文字列の末尾』から特定の文字列を検索して、この文字列の先頭位置を示すインデックスを返します。文字列の中に指定した文字列が1つしかない場合は、indexOf()を使った場合と同じ結果になるのですね」


Driver

「じゃ、indexOf()を使った2パターンのコードと、lastIndexOf()を使ったコードを書いてみます」


指定した文字列の位置を調べる(indexOf.html)
実行結果
Driver

「(1)はstrに格納されている文字列の先頭の位置から検索を開始し、最初に出現する『example』の位置(インデックス)を取得しています。(2)では文字列の8文字目の位置から検索を開始し、最初に出現する『example』の位置を取得しています。最後の(3)は、文字列の先頭の末尾から検索を開始し、最初に出現する『example』の位置を取得するようにしました」


Hint 文字列が見付かったかどうかを調べる

 if文の条件式にindexOf( )やlastindexOf( )を含めることで、特定の文字列が存在するかどうかを調べることができます。

見付かったかどうかを調べる
見付からなかったかどうかを調べる

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。