Truncate

指定した開始方向から指定した文字数を切り捨てた残り部分を返します。

■入力/出力

接続数: 最小 1/最大 2
入力データ型説明
入力1String文字列
入力2Integer存在する場合、切り捨てる文字数プロパティを置換

出力データ型説明
出力1String切り出した文字列

■プロパティ

名前プロパティ型説明
切り捨てる方向choice 開始方向を指定します。
先頭から [true] - 文字列の先頭(左端)から開始します。
末尾から [false] - 文字列の末尾(右端)から開始します。
切り捨てる文字数int切り捨てる文字数を指定します。開始方向から指定した文字数を切り捨てます。
入力の文字列長より大きい場合、空文字列を返します。
文字数の単位choice 文字数の数え方を指定します。
文字 [String] - 文字数で数えます。
バイト [Binary] - バイト数で数えます。
エンコーディングchoice文字数をバイト数で数える場合のエンコーディングを指定します。

■備考

■単位がバイト数の場合の文字数の取り扱いについて

「文字数の単位」プロパティで「バイト」を選択する場合、文字数は指定のエンコーディングでのバイト単位で数えられます。
文字列"あいうえお"をshitf_jisとutf-8であらわすとそれぞれ次のようなバイト列になります。


shift_jis: 82 A0 82 A2 82 A4 82 A6 82 A8
utf-8: E3 81 82 E3 81 84 E3 81 86 E3 81 88 E3 81 8A


例えば、Left関数で、取り出す文字数(バイト数)を"6"とした場合、エンコーディングがshift_jisであれば「あいう」の3文字が、utf-8であれば「あい」の2文字が出力されます。 取り出す文字数を"5"とした場合、どちらのエンコーディングでも文字の途中で区切られることになりますが、この場合は指定のバイト数内に収まるように文字列が切り詰められます。つまり、shift_jisの場合は「あい」2文字(4バイト)、utf-8の場合は「あ」1文字(3バイト)が出力されます。
Mid関数で、「開始位置」プロパティの指定により開始位置が文字の途中で区切られる場合は開始位置は後ろにずらされます。)


[注意] iso-2022-jpのようにShiftIn/ShiftOutのある文字コードの場合、「文字数の単位」プロパティで「バイト」を選択すると正しい結果は得られません。
[注意] プラットフォームがAIXの場合、文字の途中で区切られると正しい結果が得られない場合があります。

■例

プロパティ出力
入力1インフォテリア切り捨てる方向先頭からテリア
切り捨てる文字数4
文字数の単位文字

プロパティ出力
入力1インフォテリア切り捨てる方向末尾からインフ
切り捨てる文字数4
文字数の単位文字