[テキストを取得]アクティビティで取得したテキストの空白を削除したい。

みなさん、こんにちは。
現在、UiPath Studio開発 上級コースの「提出課題 1 セキュアハッシュ算出処理の自動化」に取り組んでいます。

ACME System 1 サイト(https://acme-test.uipath.com/) のWork Item Details ページ内から、
Client ID・Client Name・Client Country の3つ情報を[テキストを取得]アクティビティで取得し、
[代入] にて、取得した値を改行文字列で配列に分割し、出力引数に割り当てる。
という作業を実施しています。

[代入]には以下を入力しています。
左辺 : out_ClientID
右辺 : Information.Split(Environment.NewLine.ToCharArray)(0).Substring(“Client ID:”.Length)

すると以下のエラーが発生してしまいます。
代入: startIndex に文字列の長さより大きい値を指定することはできません。
パラメーター名:startIndex

[テキストを取得]アクティビティで取得したデータを見てみてみると
3つの情報の前に、余分に空白があるようで、
これが原因かと思っております。
テキストを取得

そのため、空白を除いてテキストを取得できれば、
エラーが回避できると思い、タイトルの質問に至ります。

もしその他の原因や回避策があれば、ご教授いただけますと幸いです。
よろしくお願いいたします。

Hi @t.mae

Left side: out_ClientID
Right side: Information.Split(Environment.NewLine.ToCharArray)(0).Substring("Client ID:".Length).Trim()

Regards

こんにちは

以下の式をお試しください。

Information.Split(Environment.NewLine.ToCharArray,StringSplitOptions.RemoveEmptyEntries)(0).Trim().Substring("Client ID:".Length)
1 Like

Vrdabberuさん、Yoichiさん
早急なご回答ありがとうございます。

試してみたところ、
Vrdabberuさんの値を入れると、残念ながら同じエラーが出てしまいました。

Yoichiさんの値を入れると、”Client ID”はうまくいきました。
ただ、残り2つの[代入]にも、同じように値を入れてみたところ、
"Client Name"はうまく抽出できていないようで、
"Client Country"の部分では「代入: インデックスが配列の境界外です。」というエラーが発生しました。

こちらはどのように対処すべきでしょうか。

エラーが出ている部分はどのような式を使用していますでしょうか?

以下のように入力しています。

左辺 : out_ClientName
右辺 : Information.Split(Environment.NewLine.ToCharArray,StringSplitOptions.RemoveEmptyEntries)(2).Trim().Substring(“Client Name:”.Length)

左辺 : out_ClientCountry
右辺 : Information.Split(Environment.NewLine.ToCharArray,StringSplitOptions.RemoveEmptyEntries)(4).Trim().Substring(“Client Country:”.Length)

(2)と(4)の部分をそれぞれ(1)と(2)にしてみてください。
(StringSplitOptions.RemoveEmptyEntriesでデータのないitemは削除しているので)

1 Like

上記でうまくいきました!
早急にご教授いただきましてありがとうございました!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.