【UiPath】正規表現でデータを抽出

ケース2「特定の部分を取得する方法」

概要

具体的な事例から、正規表現の使い方を紹介します。

ケース1「【文字列の一致を確認】アクティビティで、対象の文字列が含まれているか確認する方法」

文字列「いちごレモンりんごみかんぶどう」に、
対象の文字列「レモン」が含まれているか確認します。含まれていたら「True」を返します。

【全体】

ケース1「対象の文字列が含まれているか確認する方法」

①【文字列の一致を確認】アクティビティを配置

【文字列の一致を確認】プロパティ
[プロパティ]
入力:”いちごレモンりんごみかんぶどう”
パターン:”レモン”
結果:「一致確認」変数(Boolean型)を作成

②【メッセージボックス】アクティビティを配置

一致確認.ToString

③結果

【メッセージボックス】アクティビティを配置

ケース2「特定の部分を取得する方法」

「チャージ金額:20,000円です」→「20,000」のみを取得します

【全体】
ケース2「特定の部分を取得する方法」

①【一致する文字列を取得】アクティビティを配置

【一致する文字列を取得】アクティビティプロパティ
[プロパティ]
入力:”チャージ金額:20,000円です”
パターン:“チャージ金額:(.*)円です”
結果:「一致文字取得」変数(Match型)を作成

②【繰り返し (コレクションの各要素)】アクティビティを配置

Type:System.Text.RegularExpressions.Match

③【メッセージボックス】アクティビティを配置

Item.Groups(1).ToString
※Groupsメソッドで取り出す。Groups(0)は全体の文字列、Groups(1)でヒットした文字列

④結果

メッセージボックス「20,000」取得

ケース3「一致した文字列が複数ある場合の取得方法」

「出席者は…鈴木さん、斎藤さん、渡辺さんです。」の文字列から、名前のみを取得し、[Groupsメソッド]を使って、二番目の「齋藤」さんのみ表示します。

【全体】
全体ワークフロー

①【代入】アクティビティを配置

→変数「str_String」に「”出席者は…鈴木さん、斎藤さん、渡辺さんです。”」を代入します。

②【一致する文字列を取得】アクティビティを配置

[プロパティ]
入力:str_String
パターン:”出席者は…(.*)さん、(.*)さん、(.*)さんです。”
結果:一致文字取得

※変数「一致文字取得」(変数の型:IEnumerable)

【一致する文字列を取得】プロパティ

③【メッセージボックス】アクティビティを配置

一致文字取得(0).Groups(2).Tostring

④結果

メッセージボックス