【UiPath】テキストを1行ずつ取得する方法
テキストファイルなどの内容を1行ずつ取得し、必要な部分だけ取り出す方法を紹介します。
今回の手順としては以下になります。
1.テキストを読み込む(テキストでなくても可)(Read Text File)
2.テキストを1行ずつに分割する(assign)
3.分割したテキストを繰り返しで取得する(for each)
4.必要なもだけ取得する(if)
1.テキストを読み込む
テキストでもPDFでもなにかをクリップボードにいれたものでもなんでもいいのですが、
改行があるテキストを読み込みます。
今回はサンプルとして以下のようなテキストを読み込みます。
テキストファイルの読み込みであれば、Read Text Fileを使います。
2.テキストを1行ずつに分割する
取得したテキストをString型の配列に改行を区切り文字として設定したSplitで入れます。
代入(assign)で以下のように設定します。
テキスト配列(String[]) = テキスト.Split(CChar(vbCrLf))
3.分割したテキストを繰り返しで取得する
配列に入れた文字を繰り返しで取得していきます。
コレクションにテキスト配列を指定し、TypeArgumentはStringとします。
以下の例ではメッセージボックスでどのような値が取得できるか見ています。
値を取得する際には、余分な改行が残ってしまっているのでReplaceしています。
ちなみにこれを実行すると以下のようなメッセージボックスが出てきます。
1行ずつ取得できているのがわかりますね。
4.必要なもだけ取得する
ifを使って必要な行だけ取得します。
今回の場合はユーザIDとパスワードが記載されている行だけ取得したいと思います。
条件式には以下のように設定します。
item.Contains(“ユーザID:”) or item.Contains(“パスワード:”)
これでitemに「ユーザID:」または「パスワード:」が含まれている場合のみ、Thenの方にいきます。
これを実行すると以下のようなメッセージボックスが出てきます。
さっきと比べてメッセージボックスの数が減りましたね。
もし、「ユーザID:」とかもいらないという場合は、Replaceで処理できます。
item.Replace(vbLf,””).Replace(“ユーザID:”,””).Replace(“パスワード:”,””)
以上、テキストファイルなどの内容を1行ずつ取得し、必要な部分だけ取り出す方法でした。
最後はメッセージボックスで出力しましたが、抜き出したものをテキストやExcelに張り付けたりもできますので
応用して試してみてください。