1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UiPath 動かしながら文字列操作を理解する②

Last updated at Posted at 2022-04-10

はじめに

引き続き、UiPathアカデミーで学習した文字列操作を紹介する。
前回はToStringメソッドContainsメソッドについて触れた。

今回は下記の使用方法をまとめた。

  • Splitメソッド
  • String.Format メソッド
  • GenericValue 型変数

Splitメソッド

指定の文字列でテキストを分割し、配列に格納する。

Split("文字列","区切り文字(1文字)" )

使用例①:テキスト内の"★"で文字列を区切る

"いちご★りんご★ばなな★みかん"を "★"で区切り、配列に格納する。
配列から 「いちご」 を取り出して表示させる。

①文字列型の変数「文字列」を定義する。
規定値に "いちご★りんご★ばなな★みかん" と入力する。
image.png
②メッセージボックスを設定する。
テキストボックスに split(文字列, "★")(0) と入力する。
image.png
③実行すると「いちご」が表示される。
image.png
<配列の中身は以下>
フルーツ(0) : "いちご"
フルーツ(1) : "りんご"
フルーツ(2) : "ばなな"
フルーツ(3) : "みかん"

上記の中身を1つずつ順番に表示させたい場合は、
「コレクション(コレクションの各要素)」アクティビティ を使用するが、
ここでは説明を割愛する。

使用例②:ToCharArray メソッドと組み合わせる

区切り文字が複数ある場合は、ToCharArray メソッドを使う。

String.Split("区切り文字".ToCharArray)

今回は以下のテキストから、「チーズケーキ」 のみを取り出して表示する。
"私が好きなケーキは、チーズケーキです。"

①以下の変数を定義する

名前 変数の型 規定値
文字列 String "私が好きなケーキは、チーズケーキです。"
配列 String[] なし

②「代入」アクティビティを配置する。
左辺: 文字列
右辺: 配列.Split("、で".ToCharArray)
image.png
image.png
③メッセージボックスを設定する。
テキストボックスに配列(1)と入力する。
image.png
④実行すると、「チーズケーキ」のみが表示される。
image.png
<配列の中身は以下>
配列(0) : "私が好きなケーキは"
配列(1) : "チーズケーキ"
配列(2) : "す。"

String.Format メソッド

文字列と異なるデータ型を連結したい場合、
String.Format メソッドを使用すると、一括で文字列型に変換できる。

使用例:文字列型と日付型変数を連結する

以下のテキストをメッセージボックスに表示させる。
"現在の時刻は、HH時mm分(現在時刻)です。おやすみなさい"

①文字列型の変数「あいさつ」を定義する。
 規定値に"おやすみなさい"と入力する。
image.png
②メッセージボックスを配置し、以下を入力する。
String.Format("現在の時刻は、{0:HH時mm分}です。{1}",Now,あいさつ)
image.png

③実行すると、現在の時刻と変数「あいさつ」の値が表示される。
image.png

GenericValue 型変数

様々な種類のデータが格納できる、UiPath独自の変数の型。
主に下記のデータを格納可能で、目的に応じて自動で型を変換してくれる。

  • テキスト
  • 数値
  • 日付
  • 配列

GenericValue型を使用すれば、型を意識せず扱うことができるが、
意図しないエラーを出力しないよう、十分に注意して使用すること。

使用例:文字列と数値を連結する

前回も記載したように、文字列型と異なるデータ型の変数を連結する際は、
文字列型へ変換(.ToString)する必要があるが、GenericValue型を使用する場合は不要となる。

①数値型の変数「数値」を定義する。
規定値に"100"を入力する。
image.png
②メッセージボックスを配置する。
image.png
③テキストボックスに以下を入力する。
"テストの点数は" + 数値 + "点でした。"
image.png
⑤実行結果はこちら
image.png

(補足)型の参照について

変数を定義する際、デフォルトでGenericValue型を選択できないため、
下記の手順で設定する。

①変数パネルの「変数の型」プルダウンをクリックする
②「型の参照...」をクリックする
③「型の名前」にGenericValueと入力する
④UiPath Coreの「GenericValue」を選択して「OK」をクリックする
https://i.gyazo.com/51fe9164566c3e1e9b06c8373dbfbc44.png
変数の型にGenericValueと表示される
https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2602975/07fd595e-baea-e2a0-9ab8-73bdb0822a20.png

感想

書き始めは、SplitとToCharArrayメソッドを組み合わせて
使う方法がなかなか想像できなかった😭
Splitメソッドで複数の区切り文字を指定した時、エラーになったので
そこでやっと、こういう時にToCharArrayを使えばいいんだと分かった。
また、Generic型変数は、実際の開発ではまだ使ったことが無いが、
後で型が分からなくなりそうなので、なるべく型を宣言するようにしたい。

参考資料

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?