Switchアクティビティの中に正規表現を入れる方法

こんにちは。
SwitchアクティビティのCaseに正規表現を入れる際はどのように記載すればよいのでしょうか。
ExpressionはStringで、caseに特定の文字列と4桁の半角数字の正規表現を書きたいです。
Apple0123、Apple0223のようなとき、Apple%{1,4}と記載しましたがうまく動きませんでした。
よろしくお願いします。

Switchアクティビティの中で正規表現を使うことはできませんので、別の方法で実施いただく必要があります。

2 Likes

こんにちは

SwitchアクティビティのCaseに式や変数を入れることはできませんが、Expressionを工夫すれば
同様のことは実現できます。

今回のケースは単にApple+数字の条件一つだけでしたら、ifアクティビティで事足ると思いますが、
条件が複数あるということでしょうか?

例えば他にもOrange1234 や Banana9867のような果物+4桁数字があり、それぞれをCaseで分けたいのであれば

Expressionは

 System.Text.RegularExpressions.Regex.Match(text,"[A-Za-z]+(?=\d{4})").Value

とすれば
Caseはぞれぞれ

Apple
Orange
Banana

のようにリテラルとして実装できます。

なお上記の正規表現は数字5桁以上でもマッチしますので、要件に応じて見直しください。

3 Likes

このような方法でできたのですね。
今回は、条件が14個あるためSwitchアクティビティを使用しようと思っていました。ただ、Apple1234,Apple,Orange1234,Orange2345のように、4桁の数字が付く場合と付かない場合がありますので、ifアクティビティで分岐を指定します。
ご教示いただいたExpressionの書き方は今後必要になりそうなので覚えておきます。
ありがとうございました!

1 Like

ifアクティビティで分岐を行います。返信ありがとうございました!

1 Like

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