質問
\b(バックスペース文字) \f(フォームフィード文字)といった制御文字をHULFT Squareにて受信した際、
スクリプト内で[正規表現置換]ロジックを使用し、文字を削除する処理を設定しています。
上記の際、[正規表現置換]ロジックでどのような設定が望ましいでしょうか。
また、文字を削除する処理ではなく、エスケープ処理を施して外部システムへ送信する際の
[正規表現置換]ロジックの設定についてもご教示ください。
例)バックスペース文字の場合では、『\x08』の先頭に『\』をつけることで
文字列として認識させたいと考えています。
回答
前提として、あらかじめ置換対象の文字が書かれているデータをCSVファイル等でご用意いただき、
そのデータファイルを読み込んでいただくことで、以下手順の[正規表現置換]ロジックにて、
正常に対象のデータを置換することが可能となります。
【[正規表現置換]ロジックで文字を削除する場合】
〇手順
1.[CSVファイル読み取り処理]で置換対象の文字が書かれているファイルを読み取る
2.[mapping]を配置し、対象のデータを[正規表現置換]ロジックにて設定
[正規表現置換]ロジック設定例
■\b(バックスペース文字)
※置換前文字列:\x08
置換後文字列:入力なし。
■\f(フォームフィード文字)
※置換前文字列:\x0c
置換後文字列:入力なし。
3.スクリプトを実行し、制御文字が削除されたことを確認(下から3行目)
※「?(8)」はバックスペース文字、「?(c)」はフォームフィード文字を表します
【[正規表現置換]ロジックで文字をエスケープ処理する場合】
〇手順
1.[CSVファイル読み取り処理]で置換対象の文字が書かれているファイルを読み取る
2.[mapping]を配置後、[正規表現置換]ロジックを2つ使用し、
対象のデータをそれぞれ以下のように設定
[正規表現置換]ロジック設定例
■\b(バックスペース文字)
置換前文字列:\x08
置換後文字列:\\0x8
■\f(フォームフィード文字)
置換前文字列:\x0c
置換後文字列:\\0xc
3.スクリプトを実行し、制御文字が文字列として認識されていることを確認(下から4行目)

上記から得られたデータを基に外部システムへの送信が可能かをご確認ください。
補足
■マニュアルサイト
コメント
0件のコメント
記事コメントは受け付けていません。