Hitachi

SEWB+/標準サブルーチン ライブラリリファレンス


LXRPIA14 指定文字削除

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA14

文字列処理

指定文字削除

LXRCIA14

〈このページの構成〉

インタフェース

入力(区分:INPUT-PARM=I,CONSTANT=C)

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(3)

長さ

OL

03

I-STR

X(200)

文字列

I

03

I-DEL-STR

X(200)

削除文字

C

03

I-DEL-LENG

P(3)

削除文字数

C

03

I-SHFT-KBN

X(1)

シフト方向

C

'L':左詰め

'R':右詰め

上記以外:シフトしない

出力(区分:OUTPUT-PARM=O,RTN-CODE=R)

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(200)

文字列

O

03

O-RTN-CD

X(10)

リターンコード

R

SPACE:正常終了

LXREA024:NUMERICエラー

LXREA020:入力長が範囲外

LXREA008:入力文字列がスペース

LXREA018:切り捨てが発生した

処理基準

  1. 入力文字列中から指定された文字を削除する。シフトする方向が指定された場合,左または右に詰める。

    1.1 削除する方向は,次のとおり。

      シフトする方向が,

      'L'のとき

        削除対象文字より右の文字列を左に詰める。

      'R'のとき

        削除対象文字より左の文字列を右に詰める。

      上記以外

        削除対象文字を半角空白1個に置換する(置換した空白は,編集結果の文字列長に含む)。

例1

 I-STR     :'\123△456,789.12'
 I-LENG    :15
 I-DEL-STR :'△\,.'
 I-DEL-LENG:4
 I-SHFT-KBN:'R'
 ↓
 O-STR     :'△△△△12345678912'
 O-RTN-CD  :SPACE

注意事項

  1. 削除文字は,入力文字列から削除する文字を直接指定する(上記の例では,'A¥,.'と指定する)。

  2. I-LENGおよびI-DEL-LENGについてNUMERICチェックを行い,数値でないときはリターンコード'LXREA024'を返す。出力文字列は入力文字列をそのまま転記する。

  3. 1≦I-LENG≦200かつ1≦I-DEL-LENG≦200でなければ,リターンコードに'LXREA020'を返す。出力文字列には入力文字列をそのまま転記する。

  4. 編集結果の文字列長が,I-LENGより長いとき,エラーコード'LXREA018'を返す。出力文字列には編集結果を返す。

  5. このサブルーチンから(文字列有効桁数算出:LXRPIA09)を呼び出す。

  6. EUC対応版,Unicode対応版で文字列,削除文字に半角カナを入力する場合,文字数は実バイト長(EUC:2バイト/文字,Unicode:3バイト/文字)で指定する。