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 は開始位置と長さをとる
// "23"
s.substring( 2, 2 );
// 長さを指定しないと末尾まで
// "2345"
s.substring( 2 );
■ splice
DESC
指定された数の要素を start の位置から削除し
新しい要素を挿入して配列を修正します。
削除した要素は、新しい array オブジェクトに格納して返します。
SYNTAX
splice( start, deleteCount [, item1 : Object [, ... [, itemN : Object
]) : Array