正規表現を使用して文字を置換したい

Avatar
dstn

正規表現を使用して文字を置換したい

キーワード:文字列置換,変換,正規表現置換

概要

正規表現を使用して文字を置換したい場合、正規表現置換ロジックを使用します。

サンプルプロジェクトの説明

CSVファイルを読み取り、正規表現を使用して以下の置換を行います。
  • 「A」を「優」に置換
  • 「B」を「良」に置換
  • 「C」を「可」に置換
  • 「D」から「Z」を「不可」に置換
変換したデータをCSVファイルに書き込みます。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. CSVファイル読み取り処理」でCSVファイルを読み取ります。
  2. マッピング処理」の「正規表現置換ロジック」で正規表現による置換を行います。
  3. 置換したデータを「CSVファイル書き込み処理」でCSVファイルを書き込みます。
実行結果のイメージについては、サンプルプロジェクトのサンプルデータ「output.csv」を参照してください。

ポイントとなる機能

名前 説明 ツールパレット上の場所
正規表現置換ロジック 入力文字列を正規表現により置換して返します。 「文字列」-「変換」-「正規表現置換」

処理のポイント

正規表現置換ロジックで、正規表現にマッチした入力文字列を異なる文字列に置換することが可能です。
使用可能な正規表現については「 正規表現置換ロジック」のヘルプを参照してください。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトのダウンロード 逆引きリファレンス シナリオ032のサンプルプロジェクト
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_032.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_032.zip」を展開後に作成される「rl_reference_032プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_032プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_032.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

スクリプトの作成手順

プロセスフローおよびデータフローは、「 サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
    • CSVファイル読み取り処理の設定は、以下のように行います。

      [必須設定]タブ



  2. デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。

  3. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
    • CSVファイル書き込み処理の設定は、以下のように行います。

      [必須設定]タブ


  4. マッピング処理のMapperエディタを開き、入力文字列を置換する処理を作成します。
    • マッピングキャンバスは、以下のように設定します。

      マッピングキャンバス



      番号 ロジック名 説明 ツールパレット上の場所
      (1) 単純な繰り返し 指定したノードを繰り返します。 「繰り返し」-「基本」-「単純な繰り返し」
      (2) 正規表現置換 入力文字列を正規表現により置換して返します。
      [必須設定]タブの[置換前文字列(正規表現パターン)]に「[A]」を入力します。
      [置換後文字列]に「優」を入力します。
      「文字列」-「変換」-「正規表現置換」
      (3) 正規表現置換 入力文字列を正規表現により置換して返します。
      [必須設定]タブの[置換前文字列(正規表現パターン)]に「[B]」を入力します。
      [置換後文字列]に「良」を入力します。
      「文字列」-「変換」-「正規表現置換」
      (4) 正規表現置換 入力文字列を正規表現により置換して返します。
      [必須設定]タブの[置換前文字列(正規表現パターン)]に「[C]」を入力します。
      [置換後文字列]に「可」を入力します。
      「文字列」-「変換」-「正規表現置換」
      (5) 正規表現置換 入力文字列を正規表現により置換して返します。
      [必須設定]タブの[置換前文字列(正規表現パターン)]に「[D-Z]」を入力します。
      [置換後文字列]に「不可」を入力します。
      「文字列」-「変換」-「正規表現置換」

      処理のポイント
      • 正規表現にマッチしなかった入力文字列は置換されず出力されます。
      • 複数の正規表現による置換を行う場合、正規表現による置換ロジック同士をリンクすることが可能です。

  5. スクリプトを実行し、正常終了すれば成功です。

コメント

ログインしてコメントを残してください。

Powered by Zendesk