Blue Prismで正規表現で文字列を操作したい
テキストを読み込んで文字列を抽出する方法っていろいろあります。
CSVだったらUtility - File ManagementのGet CSV Text As Collectionでコレクションにしてやって
Utility - Collection ManipulationのFilter Collectionで抽出すれば操作しやすい。
でも扱いにくいケースもあるよね。
そういう時は正規表現で抽出したい。
いや、苦手なんだけどね、正規表現
Utility - Stringsに正規表現で操作する処理はある?
無駄な開発をしないためにまずは、VBOを調べます。
Utility - StringsのExtract Regex Valuesを使えば正規表現でデータが抽出できそうですな。
引数 | 説明 | 例 |
Regex Pattern | 正規表現で抽出したい文字列と設定したい変数と抽出対象パターンのセット | (?<Number>\d+) |
Target String | 抽出対象文字列 | ABAB184184 |
Named Values | Nameには結果を格納したい文字列(今回はNumber)を事前にセット。Valueには抽出した結果がセットされます | Name:Number Values:184184 |
▼Named Valuesに格納する変数にあらかじめNameとValueというフィールドを作り、Nameには文字列をセットしておく(今回はNumber)
▼実行してみる
▼実行後のNamed Values
ところで、Utility - Stringsに正規表現で置換する操作する処理はある?
これはなさそうだったので、Utility - StringsをExtendしましょう。
Test Regex Matchが一番近い処理をしてそうなので複製します。
▼じゃーん
まずは引数はこんな感じで
引数 | 備考 | 例 |
Regex Pattern | 抽出対象パターン | [0-9] |
Target String | 対象文字列 | AAA123456AAA |
Replace String | 置換対象文字列 | X |
コードステージの「Regex Replace」はこう
I/O | 引数 | 備考 |
I | Regex Pattern | 第一引数 |
I | Target String | 第二引数 |
I | Replace String | 第三引数 |
O | Regex Result | 置換結果 |
▼結果
おわりに
そ、そんなものもあるのね