str.substring(3, str.length);
などと書かなければなりませんでしたが、
sliceメソッドを使うともう少し簡単に記述できます。
str.slice(3);
構文は次のようです。
stringObj.slice(start[, end])
stringObjのstartとendで表される部分を切り出して返します。
startは先頭から、endは最後からの位置です。
endは最後が0、一つ前が-1となります。
endを省略すると最後まで返ります。
ただし、0とするとおかしなことになります。以下、例です。
str = "0123456789";
alert(str.slice(3)); //"3456789"
alert(str.slice(-1)); //"0123456789"
alert(str.slice(10)); //""
alert(str.slice(3, -1)); //"345678"
alert(str.slice(3, 0)); //""
alert(str.slice(3, 1)); //""
stringObj.substr(start[, length])
第2引数を省略すると最後まで切り出します。
以下、例です。
str = "0123456789";
alert(str.substr(3)); //"3456789"
alert(str.substr(3, 4)); //"3456"
alert(str.substr(3, 8)); //"3456789"
stringObj.replace(rgExp, replaceText)
Regular Expression
オブジェクトを使って検索された文字列を、replaceTextに置き換えて、
全体を返します。
str = "abcab";
alert(str.replace(/ab/, "q")); //"qcab"
置換は最初にマッチした文字列にのみ行われます。
str = "abcab";
alert(str.replace(/ab/g, "q")); //"qcq"
stringObj.search(rgExp)
indexOfと同じく最初にマッチした位置を返します。
マッチしなければ-1を返します。
機能的にはtestメソッドによく似ています。
stringObj.match(rgExp)
マッチすれば、最初にマッチした文字列を返します。
マッチしなかった場合、nullを返します。
stringObj.charCodeAt(index)
indexは先頭からの位置です。0から始まります。
要するにcharAt
と同じです。
以下、例です。
str = "abcab";
alert(str.charCodeAt(0)); //97
alert(str.charCodeAt(1)); //98
alert(str.charCodeAt(5)); //NaN
str2 = "レリーズ";
alert(str2.charCodeAt(0)); //12524
String.fromCharCode(code1, code2, ...)
alert(String.fromCharCode(48, 49, 50)); //"012"