Mid

投稿者: | 9月 12, 2019

文字列の中の指定された文字位置から、指定された文字数分の文字列を取り出します。
バイト換算と文字列換算の関数が用意されています。

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