超頑張らないと!!!

文字列オブジェクト

Stringは文字列を扱うオブジェクトである。

文字列の検索

indexOf()は文字列の先頭から検索を行うメソッド。
lastIndexOf()は文字列の末尾から検索を行うメソッド。

var target = 'a09a10a11a12'
//通常の検索
var result1 = target.indexOf('a1');    //'a1'を検索
document.write('a1を検索:'+result1+'<br/>');

//文字列の末尾から検索
var result2 = target.lastIndexOf('a1');    //末尾から検索
document.write('後ろから検索:'+result2+'<br/>');

//途中から検索
var result3 = target.indexOf('a1',4);    //5文字目以降にある'a1'を検索
document.write('5文字目から検索:'+result3+'<br/>');

//検索結果が見つからないとき
var result4 = target.indexOf('A1');    //文字列に含まれていない文字を検索

indexOf()で文字列が見つかったかどうかの判定

var target = 'a09a10a11a12';

if (target.indexOf('a1') < 0 ) {
    alert('見つかりませんでした');
}else{
    alert('発見しました!!!');
}

search()メソッドでは指定した文字列または正規表現に一致する文字の位置を返す。

var target = 'a09a10a11a12';

//文字列を引数に指定した検索
var result1 = target.search('a1');    //'a1'を検索
document.write('検索:'+result1+'<br/>');


//正規表現を利用した任意の数字の検索
var result2 = target.search(/[0-9]/);
document.write('正規表現で検索:'+result2+'<br/>');

/[0-9]/という正規表現を利用して、文字列に含まれる数値(0〜9)が何番目にあるか調べている。

文字列の置換

replaceメソッドを利用して置換することができる。

var target = 'a09a10a11a12';

//文字列を引数に指定して置換
var result1 = target.replace('a1','a2');    //文字列で条件を指定
document.write('置換 :'+result1+'<br/>');
document.write('置換元 :'+target+'<br/>');    //元の文字列は変更されない

//正規表現を引数に指定して全治勘
var result2 = target.replace(/a1/g,'a2');    //正規表現で条件を指定
document.write('gオプションで全置換可能 :'+result2+'<br/>');

文字列は不変性のオブジェクトってことかな?

文字列の切り抜き

substr()とsubstring()は文字列から指定した位置の部分文字列を返す。やはり元の文字列は変更されない。

var target = 'a09a10a11a12';

//substr()メソッドを使って切り抜き
var result1 = target.substr(3,6);
document.write('substrは開始文字、文字列長 :'+result1+'<br/>');

//substring()メッソドを使って切り抜き
var result2 = target.substring(3,6);
document.write('substringは開始文字、終了文字 :'+result2+'<br/>');

//slice()メソッドを使って切り抜き
var result3 = target.slice(3,6);
document.write('sliceも開始文字、終了文字 :'+result3+'<br/>');

文字列の分解

var target = 'a09a10a11a12';

///文字列の分割
var ary = target.split('a');    //'a'を区切りとして分解
alert(ary.length+' : '+ary);    //5つの要素に分解される