文字列(String)


DESC TextData をもつ Object 変数に リテラルをいれることで暗黙的に生成
// 暗黙的に生成 var str = "aiueo"; // 明示的に生成 // JScript は 大文字, 小文字の違いがある var str = new String( "aiueo" );
// マッチした Index値をかえす var s = "ABCED"; // RET: 1 var idx = s.indexOf( "BC" ); // なければ -1 var idx = s.indexOf( "F" );



置換





replace


SYNTAX replace( RegExp, String )
// Replace var s = "d:\\foo\\bar"; // RET // d:/foo\bar s.replace( "\\", "/" ); // RET // d:/foo/bar s.replace( /\\/g, "/" );



検索





match


SYNTAX Object search( RegExp ) DESC RegExp にマッチした index, lastIndex を返す。 lastIndex は最後に一致した文字の直後の位置がセットされる RET Object null : マッチしない
var s = "0123456789"; var o = s.match( /234/ ); if ( o != null ) { // 2 o.index; // 5 ( 4 の直後 ) o.lastIndex; }



search


SYNTAX Number search( RegExp ) DESC RegExp に Match する index をかえす RET N : Match した index -1 : マッチしない
var s = "c:/foo/test.txt"; // RET // 2 s.search( "/foo" ); // RET // -1 s.search( "/foo$" ); // RET // 0 // "." は RegExp としての扱い s.search( "." ); // RET // 11 // "." 自体を指定 s.search( "\\." ); var s = "c:\\foo\\test.txt"; // RET // 2 // "\" 自体を指定 s.search( "\\\\" );
// 複数回の置換 path = "d:\\test\\test.txt"; path.replace( /\\/g, "/" ); // 大文字, 小文字指定なしで path = "d:\\test\\test.txt"; path.replace( /d:/i, "/cygdrive/d" );



split


SYNTAX split( String dlm ) split( Regexp dlm ) split( String dlm [, limit] ) split( Regexp dlm [, limit] ) RET Array DESC 指定した String( Regexp ) 区切り文字で分割して配列をかえす。
// [ "c", "foo", "bar", "test.txt" ] var path = "c:/foo/bar/test.txt"; var a = path.split( "/" ); // 2 コだけもらう var a = path.split( "/", 2 ); // file 名をとる WScript.echo( a.pop() ); // 単一文字ではなく, 文字列を区切りに指定する // [ "aaa", "bbb" ] var s = "aaa_foo_bbb" var a = s.split( "_foo_" );
先頭、末尾に区切り文字がある場合は string, Regexp 型によって結果がかわる。 string の場合は最初、最後も空文字列のトークンになる。 Regexp にすると空文字列のトークンはカウントされない。
var s = "c:/foo/bar/"; // ["c", "foo", "bar", "" ] var a = s.split("/"); // ["c", "foo", "bar" ] var a = s.split( /\// );
Regexp を利用すれば 複数の文字で分割できる
path = "c:/foo/bar" path.split( /[\/]/ )
WARNING 空文字列を分割すると 1 個の空文字列が返る
var s = ""; // a.length == 1, a[0] = ""; var a = s.split( " " );



抽出.切り出し.部分文字列





slice


SYNTAX String slice( start : Number // 開始 index [, end : Number] // 終了 index )
var s = "012345"; // "2" s.slice( 2,3 ); // 終了を指定しないと最後まで // "2345" s.slice( 2 ); // 負を指定すると後ろからの index 指定 // "45" s.slice( -2 ); // "4" s.slice( -2, -1 );



substring(substr)


SYNTAX String substring( s, e ) String substr ( s, [ len ] ) DESC 指定された index にある文字列を返す。
var s = "012345"; // "123" s.substring( 1, 3 );
substr は 開始位置( 0 index ) と 長さ をとる
// "45" s.substr( 4, 2 ); // 長さを指定しないと末尾まで // "2345" s.substr( 2 );



splice


DESC 指定された数の要素を start の位置から削除し 新しい要素を挿入して配列を修正します。 削除した要素は、新しい array オブジェクトに格納して返します。 SYNTAX splice( start, deleteCount [, item1 : Object [, ... [, itemN : Object]) : Array


length strlen


DESC Byte 数ではなく文字数をかえす
var str = "aieuo"; // 文字数 5 WScript.echo( str.length ); // SJIS でセット // RET: 5 str = "あいうえお" WScript.echo( str.length );



charAt


DESC 指定 index の文字をかえす WARNING 参照を返さないため, 代入はできない
var s = "012345"; // 1 s.charAt( 1 );



変換 . toLowerCase . toLower toUpper


英字の大文字、小文字を変換する
var s = "aBc"; // "abc" s.toLowerCase(); // "ABC" s.toUpperCase();