プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > Proserpine Macro > Commands > Substring系

 
 Substring系メソッド
Macro Top | Variables | Constants | Commands | Ex-Commands  


 

Substring系メソッド


(文字列).Substring(index)
(文字列).Substring0(length)
(文字列).SubstringUsing(int_index)
(文字列).SubstringUsingL(intl_index)
(文字列).SubstringUntilUsing0(char_collections)

(バイト列).SubstringUsing(int_index)
(バイト列).SubstringUsingL(intl_index)

 

(文字列).Substring(index)


indexの位置以降の文字列を取得します。
例: set: str[1]="abcdef".Substring(3); // str[1]には def が設定される

 

(文字列).Substring0(length)


先頭からlengthの長さの文字列を取得します。
例: set: str[1]="abcdef".Substring0(3); // str[1]には abc が設定される

 

(文字列).SubstringUsing(int_index)


int[int_index]の位置から int[int_index+1]の長さの文字列を取得します。

例:


 

(文字列).SubstringUsingL(intl_index)


intl[int_index]の位置から intl[int_index+1]の長さの文字列を取得します。

例:


 

(文字列).SubstringUntilUsing0(char_collections)


int[0]の位置から 文字列char_collectionsに含まれる文字のうち、 どれかが出現するまでの間を取得します。
int[0]の変数をパラメータとして使用します。

例:

'e'の文字の位置から、半角スペースかタブ(\t) のどちらかが出現するまでの間が str[1]に設定されます。 この例ではstr[1]に ef が設定されます。


 

(バイト列).SubstringUsing(int_index)

(バイト列).SubstringUsingL(int_index)


バイト列の一部を切り出します。

SubstringUsingメソッドは、バイト列の int[int_index] の位置から int[int_index+1] の長さのバイト列を取得します。
例えば、int[38] に 4、 int[39] に 10 の設定があるときに
  bin[100].SubstringUsing(38)
と記述した場合は、 bin[100] のインデックス4の位置から10バイトを切り出します。

SubstringUsingLメソッドは、バイト列の intl[int_index] の位置から intl[int_index+1] の長さのバイト列を取得します。

次の例では、「最高気温」という日本語の文字列を ISO-2022-JPのバイト列 に変換しています。
単純にISO-2022-JPに変換した場合、前後にそれぞれ3バイトのシーケンス制御のバイト列が付与されるので、 それらをSubstringUsingLを使用して削除しています。
intl[101] に切り出す長さを設定しますが、str[1]には全て日本語で設定されているので、 単純に「最高気温」の文字列長(=4)を 倍にしたもの(ここでは<<=の左シフトを使用) を設定しています。



【コピペで確認】 上記のサンプルコードは メモ帳モードで開いたテキストフォームにコピー&ペーストして、 テストモード実行で 動作確認することができます。

文字列を、 ISO-2022-JPのバイト列に変換したものを 表示したり、ファイルに保存する場合には、 前後にシーケンス制御のバイト列が付与されている必要がありますが、 他のバイト列の中から ISO-2022-JP表現の「最高気温」の文字列 を検索する場合は 上記例のような方法で前後のシーケンス制御のバイト列を削ったものを使用して 検索する必要があります。

[BACK]
プロセルピナ