Stringオブジェクト

 

Stringオブジェクトは、JavaScript標準仕様のメソッドが使用できます。PrintStreamでは、さらに日本語に特化したメソッドが追加されています。

 

メソッド

説明

zenkaku

半角を全角に変換

hankaku

全角を半角に変換

kana

カタカナをひらがなに変換

katakana

ひらがなをカタカナに変換

kanji

半角数字を漢数字に変換

charAt

文字を抽出

substr

開始位置と長さを指定して文字列を抽出

substring

開始、終了位置を指定して文字列を抽出

slice

開始、終了位置を指定して文字列を抽出

charCodeAt

文字コードを取得

indexOf

文字列の先頭から文字を検索

lastIndexOf

文字列の最後から文字を検索

fromCharCode

文字コードから文字列を作成

charAtB

文字を抽出

substrB

開始位置と長さを指定して文字列を抽出

substringB

開始、終了位置を指定して文字列を抽出

sliceB

開始、終了位置を指定して文字列を抽出

charCodeAtB

文字コードを取得

indexOfB

文字列の先頭から文字を検索

lastIndexOfB

文字列の最後から文字を検索

fromCharCodeB

文字コードから文字列を作成

 

プロパティ

説明

length

文字列の長さを取得

lengthB

文字列の長さを取得

 

zenkaku

 

説明

半角を全角に変換します。

呼出形式

String = "半角文字列".zenkaku();

戻り値

全角に変換した文字列

 

hankaku

 

説明

全角を半角に変換します。

呼出形式

String = "全角文字列".hankaku();

戻り値

半角に変換した文字列

 

kana

 

説明

カタカナをひらがなに変換します。(半角カタカナは含まれません)

呼出形式

String = "カタカナ".kana();

戻り値

ひらがなに変換した文字列

 

katakana

 

説明

ひらがなをカタカナに変換します。

呼出形式

String = "ひらがな".katakana();

戻り値

カタカナに変換した文字列

 

kanji

 

説明

半角数字を漢数字にします。

呼出形式

String = "半角数字".kanji(type);

引数

Number type

変換の種類を指定します。

0:漢数字

"12345"→"壱万弐千参百四拾五"

1:半角数字

"12345"→"1万2345"

2:全角数字

"12345"→"1万2345"

省略すると0と同様になります。

戻り値

72桁(無量大数)までの半角数字を漢字になおします。

 

charAt

 

説明

文字列のn文字目の文字を返します。

位置の指定は全角、半角に関係なく1文字として数えます。

呼出形式

String = "文字列".charAt(n);

引数

Number n

最初の文字を0番目とした文字の位置を指定します。

範囲外(マイナス値や文字数以上)を指定した場合は、空の文字が返ります。

省略した場合は1文字目が返ります。

戻り値

抽出された文字

 

substr

 

説明

文字列のbeginからlength文字数の文字列を返します。

位置、長さの指定は全角、半角に関係なく1文字として数えます。

呼出形式

String = "文字列".substr(begin, length);

引数

Number begin

最初の文字を0番目とした抽出する文字列の開始位置を指定します。

マイナス値を指定すると、文字列の右側から数えます。

文字数以上の値を指定すると、空文字列を返します。

Number length

抽出する文字数を指定します。

マイナス値を指定すると、0として扱われます。

begin+lengthが文字数以上の場合は文字列の最後まで抽出します。

省略した場合は文字列の最後まで抽出します。

戻り値

抽出された文字列

 

substring

 

説明

文字列のbegin〜end-1文字目の文字列を返します。

位置の指定は全角、半角に関係なく1文字として数えます。

呼出形式

String = "文字列".substring(begin, end);

引数

Number begin

最初の文字を0番目とした抽出する文字列の開始位置を指定します。

マイナス値を指定すると、0として扱われます。

文字数以上の値を指定すると、文字数と同一として扱われます。

endより大きい値を設定すると、beginとendが入れ替わります。

Number end

最初の文字を0番目とした抽出する文字列の終端の次の位置を指定します。(範囲はbegin〜end-1)

マイナス値を指定すると、0として扱われます。

文字数以上の値を指定すると、文字数と同一として扱われます。

beginより小さい値を設定すると、beginとendが入れ替わります。

省略した場合は文字列の最後まで抽出します。

戻り値

抽出された文字列

 

 slice

 

説明

文字列のbegin〜end-1文字目の文字列を返します。

位置の指定は全角、半角に関係なく1文字として数えます。

呼出形式

String = "文字列".slice(begin, end);

引数

Number begin

最初の文字を0番目とした抽出する文字列の開始位置を指定します。

マイナス値を指定すると、文字列の右側から数えます。

endより大きい値を設定すると、空文字列を返します。

Number end

最初の文字を0番目とした抽出する文字列の終端の次の位置を指定します。(範囲はbegin〜end-1)

マイナス値を指定すると、文字列の右側から数えます。

beginより小さい値を設定すると、空文字列を返します。

省略した場合は文字列の最後まで抽出します。

戻り値

抽出された文字列

 

charCodeAt

 

説明

文字列のn文字目の文字コードをUNICODEで返します。

位置の指定は全角、半角に関係なく1文字として数えます。

呼出形式

Number = "文字列".charCodeAt(n);

引数

Number n

最初の文字を0番目とした文字の位置を指定します。

範囲外(マイナス値や文字数以上)を指定した場合は、NaNが返ります。

省略した場合は1文字目が返ります。

戻り値

文字コード(UNICODE)

 

indexOf

 

説明

文字列を後方に検索し、発見した位置を返します。

位置の指定は全角、半角に関係なく1文字として数えます。

呼出形式

Number = "文字列".indexOf(key, from);

引数

String key

検索する文字列を指定します。

Number from

最初の文字を0番目とした検索を開始する位置を指定します。

省略した場合は、文字列の最初から検索します。

戻り値

見つかった位置(見つからない場合は-1)

 

lastIndexOf

 

説明

文字列を前方に検索し、発見した位置を返します。

位置の指定は全角、半角に関係なく1文字として数えます。

呼出形式

Number = "文字列".lastIndexOf(key, from);

引数

String key

検索する文字列を指定します。

Number from

最初の文字を0番目とした検索を開始する位置を指定します。

省略した場合は、文字列の最後から検索します。

戻り値

見つかった位置(見つからない場合は-1)

 

fromCharCode

 

説明

文字コード(UNICODE)から文字列を作成します。

呼出形式

String = String.fromCharCode(code1, code2, ...);

引数

Number code

文字コードをUNICODEで指定します。

複数の引数を指定することで、複数のコードから文字列を作成できます。

戻り値

作成した文字列

 

charAtB

 

説明

文字列のn文字目の文字を返します。

位置の指定は全角を2バイト、半角を1バイトとして数えます。

呼出形式

String = "文字列".charAtB(n);

引数

Number n

最初の文字を0番目とした文字の位置を指定します。

範囲外(マイナス値や文字数以上)を指定した場合は、空の文字が返ります。

省略した場合は1文字目が返ります。

戻り値

抽出された文字

バージョン

3.1以降

 

substrB

 

説明

文字列のbeginからlength文字数の文字列を返します。

位置、長さの指定は全角を2バイト、半角を1バイトとして数えます。

呼出形式

String = "文字列".substrB(begin, length);

引数

Number begin

最初の文字を0番目とした抽出する文字列の開始位置を指定します。

マイナス値を指定すると、文字列の右側から数えます。

文字数以上の値を指定すると、空文字列を返します。

Number length

抽出する文字数を指定します。

マイナス値を指定すると、0として扱われます。

begin+lengthが文字数以上の場合は文字列の最後まで抽出します。

省略した場合は文字列の最後まで抽出します。

戻り値

抽出された文字列

バージョン

3.1以降

 

substringB

 

説明

文字列のbegin〜end-1文字目の文字列を返します。

位置の指定は全角を2バイト、半角を1バイトとして数えます。

呼出形式

String = "文字列".substringB(begin, end);

引数

Number begin

最初の文字を0番目とした抽出する文字列の開始位置を指定します。

マイナス値を指定すると、0として扱われます。

文字数以上の値を指定すると、文字数と同一として扱われます。

endより大きい値を設定すると、beginとendが入れ替わります。

Number end

最初の文字を0番目とした抽出する文字列の終端の次の位置を指定します。(範囲はbegin〜end-1)

マイナス値を指定すると、0として扱われます。

文字数以上の値を指定すると、文字数と同一として扱われます。

beginより小さい値を設定すると、beginとendが入れ替わります。

省略した場合は文字列の最後まで抽出します。

戻り値

抽出された文字列

バージョン

3.1以降

 

sliceB

 

説明

文字列のbegin〜end-1文字目の文字列を返します。

位置の指定は全角を2バイト、半角を1バイトとして数えます。

呼出形式

String = "文字列".sliceB(begin, end);

引数

Number begin

最初の文字を0番目とした抽出する文字列の開始位置を指定します。

マイナス値を指定すると、文字列の右側から数えます。

endより大きい値を設定すると、空文字列を返します。

Number end

最初の文字を0番目とした抽出する文字列の終端の次の位置を指定します。(範囲はbegin〜end-1)

マイナス値を指定すると、文字列の右側から数えます。

beginより小さい値を設定すると、空文字列を返します。

省略した場合は文字列の最後まで抽出します。

戻り値

抽出された文字列

バージョン

3.1以降

 

charCodeAtB

 

説明

文字列のn文字目の文字コードをSHIFT_JISで返します。

位置の指定は全角を2バイト、半角を1バイトとして数えます。

呼出形式

Number = "文字列".charCodeAtB(n);

引数

Number n

最初の文字を0番目とした文字の位置を指定します。

範囲外(マイナス値や文字数以上)を指定した場合は、NaNが返ります。

省略した場合は1文字目が返ります。

戻り値

文字コード(SHIFT_JIS)

バージョン

3.1以降

 

indexOfB

 

説明

文字列を後方に検索し、発見した位置を返します。

位置の指定は全角を2バイト、半角を1バイトとして数えます。

呼出形式

Number = "文字列".indexOfB(key, from);

引数

String key

検索する文字列を指定します。

Number from

最初の文字を0番目とした検索を開始する位置を指定します。

省略した場合は、文字列の最初から検索します。

戻り値

見つかった位置(見つからない場合は-1)

バージョン

3.1以降

 

lastIndexOfB

 

説明

文字列を前方に検索し、発見した位置を返します。

位置の指定は全角を2バイト、半角を1バイトとして数えます。

呼出形式

Number = "文字列".lastindexOfB(key, from);

引数

String key

検索する文字列を指定します。

Number from

最初の文字を0番目とした検索を開始する位置を指定します。

省略した場合は、文字列の最後から検索します。

戻り値

見つかった位置(見つからない場合は-1)

バージョン

3.1以降

 

fromCharCodeB

 

説明

文字コード(SHIFT_JIS)から文字列を作成します。

呼出形式

String = String.fromCharCodeB(code1, code2, ...);

引数

Number code

文字コードをSHIFT_JISで指定します。

複数の引数を指定することで、複数のコードから文字列を作成できます。

戻り値

作成した文字列

バージョン

3.1以降

 

length

 

説明

文字列の長さを取得します。

全角、半角に関係なく1文字として数えます。

Number (読出し専用)

使用形式

Number = "文字列".length;

 

lengthB

 

説明

文字列の長さを取得します。

全角を2バイト、半角を1バイトとして数えます。

Number (読出し専用)

使用形式

Number = "文字列".lengthB;

バージョン

3.1以降

 

 

JavaScript標準プロパティ、メソッドについて

PrintStreamスクリプトでは、上記以外にもJavaScript標準のプロパティ、メソッドが使用できます。

なお、toUpperCase、toLowerCaseメソッドは半角英字のみ変換されます。全角文字は変換されません。

 

文字の数え方について

バージョン3.1以降では、文字の数え方を統一し、文字数(半角、全角に関係なく1文字)で扱うようになりました。

ただし、末尾にBの付くメソッド、プロパティ(substringB、lengthBなど)は、バイト数(半角は1文字、全角は2文字)として扱います。

バイト数で扱うメソッドで全角文字の中間バイトを指定した場合は、その文字を含むものとして処理されます。

 

旧バージョンとの互換性について

バージョン3.1以降では、スクリプトの動作が変更されたメソッドやプロパティがあります。

バージョン3.0以前のPrintStreamで作成したスクリプトで従来の動作を実現するには、以下のいずれかを行ってください。

(1)ScriptVersion関数で3.0を指定する

(2)FormWriterのコマンドライン引数-scriptversionで3.0を指定する

なお、substring2はバージョン3.1以降では廃止されました。

 



「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る