セレクタの変更

一行ずつ下に画面をクリックしたいと考え以下のようにターゲットのセレクタを変更しましたが

ctrl idx=‘" & count & "’ name=‘New’ role=‘list item’ /

設定できずに戻ってしまいます。
ctrl idx=‘1’ name=‘New’ role=‘list item’ /

問題点を教えていただけますようお願い致します。

加えての質問で恐縮ですが

テキストで画面より取得した「123 item(S)」の数字の部分を変数として設定したいのですが
どのような方法があるでしょうか?

何かやるごとにわからない事ばかりです。

なにとぞご教授いただけますようお願い致します。

@mari_usagi

セレクタに変数を入れる場合、UIExplorerからは入力できなかったはずなので、
image
上のようなプロパティ画面に直接文字列を張り付けたら上手くいくはずです。

2点目については、数字の部分の仕様にもよると思いますが、もし3文字確定なら
①テキストを取得
②.tostring(0,3)で先頭3文字取得
ではどうでしょうか?

1 Like

セレクタ中の一部を変数に置き換える場合は、アクティビティにある「セレクタの編集」からではなく、右のパラメタパネルのターゲットにある「セレクタ」を直接編集します。

この際、セレクタの右となりの「…」ボタンをクリックすると「セレクタの編集」と同じ画面が表示されてしまうので、テキストボックスをフォーカスしたのち、Ctrl+Aで全体を選択し、CTRL+Cでコピーして、テキストエディタにペーストして編集するとやりやすいですね。

「123 item(S)」の数字の部分は、正規表現で取得できると思いますが、私は浅学ですので、他の人からの返信をお待ちください<m(__)m>

2 Likes

ありがとうございます。
セレクタの変更は出来ました。

3文字確定ではなくて1桁から5桁まであります。
数字の後の「 item(S)」は変わらないのですが。

1 Like

ありがとうございます。
セレクタの変更は出来ました。

まさか「…」から入ってはいけなかったとは。
衝撃でした。

1 Like

@mari_usagi

5桁まであるんですね。
2通りあると思いますが、
①後ろのitem(S)を消す
②HANACCIさんのおっしゃる通り正規表現で抽出
②なら

[0-9]+を使えば数値部分抽出できそうですよ。

1 Like

ありがとうございます。
ネットで正規表現ビルダーを調べてて作成が遅くなってしまいました。

組み込めるか自信がないのですが何とか進めてまいりたいと思います。

早々にご回答いただきとても助かりました。

お二方とも、誠にありがとうございました。

1 Like

こんにちは

以下参考レベルですが、要件次第でお好みのパターンをお使いください。
一般的に制約を厳しくすればするほど誤検出は減りますが、想定していない変化に弱くなる傾向があるかと思います。

数字列
\d+
[0-9]+ と同じ

1-5桁の数字列
\d{1,5}

先頭にある1-5桁の数字列
^\d{1,5}

" item(S)"の前にある1-5桁の数字列
\d{1,5}(?=\sitem\(S\))

使い方(代入アクティビティ)

strNumber = System.Text.RegularExpressions.Regex.Match(text.toString,"\d{1,5}(?=\sitem\(S\))").Value
2 Likes

上手くいきそうですね!

もしうまくいったら、参考になった書き込みの解決策にチェックをしてくださいませ

1 Like

HANACCHI様には他の方へのご回答を含め、いつも勉強させていただいております。

ハートを押せば「参考になった書き込みの解決策」になるのでしょうか?

ありがとうございます!

まるごと保存させていただき今後に活用させていただきます。

1 Like

解決策

というチェックボックスがありませんか?

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