2014年9月22日月曜日

JavaScriptのコアオブジェクト:文字列のオブジェクト(Stringオブジェクト)

var args = "文字列";

このように変数を定義して値を挿入する時に、変数に文字を入れるとStringオブジェクト(文字列のオブジェクト)として解釈されます。StringオブジェクトとはJavaScriptで元から用意されているオブジェクトで、このオブジェクトの中にはたくさんの便利な関数(メンバ関数)が用意されていて、変数の中に文字列を入れた時はいつでも使えます。
(変数に文字列を入れた時の解釈は厳密には異なりますが、あくまでイメージとして)

たとえば、文字列の一部を他の文字に変えたい時は、Stringオブジェクトの中のreplace()を利用します。

//textという変数を用意して、ABCDEFという文字列を変数に入れる
var text = "ABCDEF";

//newtext変数を用意してtext変数内の文字列を入れ替えた結果を入れる
var newtext = text.replace("BCD", "XXX");

//AXXXEFと表示される
document.write(newtext);

他にindexOf()で文字列の中に検索したい文字列が何文字目にあるかを調べることができ、

var text = "ABCDEF";

//調べたい文字列をindexOf()のカッコの中に入れると検索が開始されます。
//1と表示されます。ここではAが0文字目となり、Bが1文字目になります。
document.write(text.indexOf("BCD"));


変数の中に入っている文字列の中に検索したい文字列が無かった場合は、

var text = "ABCDEF";

//変数の中に調べたい文字列がない場合は-1と表示されます
document.write(text.indexOf("CBD");

文字の切り出しを行いたい場合は、substr()を使います。

var text = "ABCDEF";

//1番目の文字列(ここではB)から4文字抜き出す
var newtext = text.substr(1, 4);

//BCDEと表示される
document.write(newtext);

変数の中に入れた文字列を配列にするsplit()というものもあります。

var text = "a,b,c,d,e,f";

//文字列を,区切りで配列に変える
var array = text.split(",");

//a b c d e fと表示される
for ( i = 0; i < array.length; i++ ) {
 document.write(array[i]);
}

trim()を使えば、変数に入れた値の両端に空白を削除します。

var text = "  hello world!  ";

//両端の空白が削除されて、hello world!と表示される
document.write(text);

変数の中に入れた文字列の長さを調べる際は、Stringオブジェクトにある関数(メソッド)ではなく、lengthプロパティを指定します。
var text = "abcde";

//5と表示されます
document.write(text.length);

Stringオブジェクトについての詳しい説明(MDN)
String | Mozilla Developer Network

0 件のコメント:

コメントを投稿