文字列の先頭(左端)から指定した文字数分の文字列を返します。
入力 | データ型 | 説明 |
---|---|---|
入力1 | String | 文字列 |
入力2 | Integer | 存在する場合、取り出す文字数プロパティを置換 |
出力 | データ型 | 説明 |
---|---|---|
出力1 | String | 切り出した文字列 |
名前 | プロパティ型 | 説明 | ||||||
---|---|---|---|---|---|---|---|---|
取り出す文字数 | int | 左から取得する文字数を指定します。 0の場合、空文字列を返します。 入力の文字列長より大きい値の場合、文字列全体を返します。 |
||||||
文字数の単位 | choice |
文字数の数え方を指定します。
|
||||||
エンコーディング | choice | 文字数をバイト数で数える場合のエンコーディングを指定します。 | ||||||
空白を埋める | boolean | 取り出す文字数に文字列長より大きい数値が指定された時に空白を埋めるかどうか指定します。
|
「文字数の単位」プロパティで「バイト」を選択する場合、文字数は指定のエンコーディングでのバイト単位で数えられます。
文字列"あいうえお"を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 | Infoteria Corp. | 取り出す文字数 | 9 | Infoteria |
プロパティ | 出力 | |||
入力1 | 日本語サンプル | 取り出す文字数 | 3 | 日本語 |