例題
例えばこのような受領書をメールとし受け取り、その中にある受領番号を抽出したいとします。
Studioなら正規表現とMatchesアクティビティで一発だが……
(?<=トランザクションID:).*(?=\n)
ここから、トランザクションIDを抜き出したい!そういう時は、正規表現を使って一発です。本文をString型で取得し、Matchesアクティビティを使って上記の正規表現でマッチした結果Matches(0)を抽出すればいいだけの話ですが、今回はStudioX向け。つまり初学者向けに正規表現とかわからなくても、Excelの機能を使って抽出をしていきたいと思います。
初学者が陥りやすいケースその1 Excel
初学者が陥りやすいパターンの一つとしては、一つのセルに本文データをすべて抽出してしまうというケースです。
本文を一つのセルに入れがちです。これだと、抽出をするのが難しくなってきます。
[データ テーブルを生成]を使用して、文字列をテーブルにする
ひとつのセルにすべての本文を貼り付けるのではなく、各行ずつに本文を抽出できればいいのです。
ここで必要なアクティビティが「データテーブルを生成」です。概要としては、テキストをデータに変換してくれるアクティビティです。まずオプションをクリックします。
①は必須ではないです。サンプルとなる文字列としてメールの本文を手動で入力してみます。(サンプル入力したほうがわかりやすいので便宜上行っているだけです)
②改行文字から[改行]を選択し、
③プレビューを押下
すると、テストプレビュー欄に行ごとに区切られたデータが生成されるので、OKボタンを押下します。
ノートブックを開いてみます。無事に各行ごとにExcelに反映されていることを確認できました。
このままだと、A5セルには不要な文字があるので、隣の列C5に数式を記入します。
=SUBSTITUTE(A4,”トランザクションID:”,””)
数式を埋め込んだセル番地に名前「トランザクションID」を入力します。
サンプルワークフローを見てみる
以下がサンプルファイルになります。
このワークフローの注意点
抽出したい値の行数が異なる場合
置換したい文字列が異なる場合
エラーになるので気を付けてください。
コメントは受け付けていません。