文字列の中の指定された文字位置から、指定された文字数分の文字列を取り出します。
バイト換算と文字列換算の関数が用意されています。
1.バイト換算
注意:マルチバイト分断が起きる位置が指定されたとき、下表のように想定しない結果が生じます。
PB Ver | 戻り値 | 関数 | 引数1 | 引数2 | 引数3 | 例1 | 例2 | 例3 | 備考 |
String | String | Long | Long
(省略可) |
(“あaい”, 2, 2) | (“aあb”, 1, 2) | (“aあbいc”, 3, 3) | マルチバイト分断位置を指定した結果 | ||
PB9 | 文字列 | Mid | 文字列 | 開始バイト位置 | 長さ(バイト数) | _a | a | _b_ | ゴミが残る |
PB9 | 文字列 | MidC | 文字列 | 開始バイト位置 | 長さ(バイト数) | あ | a | あb | ゴミが残らないよう調整される |
PB12.6 | 文字列 | MidA | 文字列 | 開始バイト位置 | 長さ(バイト数) | あ | a | あb | ゴミが残らないよう調整される |
PB2017R3 | 文字列 | MidA | 文字列 | 開始バイト位置 | 長さ(バイト数) | _a | a | ゴミが残る、空欄になる |
2.文字数換算
PB Ver | 戻り値 | 関数 | 引数1 | 引数2 | 引数3 | 例1 | 例2 | 例3 |
String | String | Long | Long
(省略可) |
(“あaい”, 2, 2) | (“aあb”, 1, 2) | (“aあbいc”, 3, 3) | ||
PB9 | 文字列 | MidW | 文字列 | 開始文字位置 | 長さ(文字数) | aい | aあ | bいc |
PB12.6 | 文字列 | Mid | 文字列 | 開始文字位置 | 長さ(文字数) | aい | aあ | bいc |
PB2017R3 | 文字列 | Mid | 文字列 | 開始文字位置 | 長さ(文字数) | aい | aあ | bいc |