データテーブル内での正規表現について

先頭3文字が「数字、アルファベット、数字」の7文字の文字列をデータテーブルのフィルタアクティビティでフィルターリングを考えています。
正規表現は、 [0-9][A-Z][0-9] と考えたのですが自信がありません。
特に、最後の4文字の正規表現をどうすればいいのか分かりませんでした。
また、フィルタアクティビティのフィルター行の書き方ですが、“column1” = “[0-9][A-Z][0-9]”
としたのですが、そもそもフィルタアクティビティに正規表現を使ってよいものか分かりませんでした。
ご指導よろしくお願いいたします。

こんにちは

まずデータテーブルをフィルターアクティビティでは正規表現は使えません。
その代わりStartWithが使えますので、こちらで代用できる条件ならこのアクティビティで可能です。ただ今回の条件が最初3文字が[任意の英字][任意の数字][任意の英字]とのことですので、少々厳しいかと思います。

仮に条件が上記の場合、他の手段としては例えばLINQを使うと以下のように記述できます。

dt = dt.AsEnumerable.where(Function(r) System.Text.RegularExpressions.Regex.IsMatch(r("columnName").toString(),"^[A-Z][0-9][A-Z]")).CopyToDataTable()
1 Like

Yoichi様
いつもご指導ありがとうございます。
LINQについてもう少し教えていただければ幸いです。
初めて聞くキーワードで使ったことがなかったので少々ビビッてしまいました。

dt=dt.AsEnumerable.where・・・の式はinvoke codeアクティビティに
実装すれば使えるものなのでしょうか?
LINQを少し調べると、「Imports System.Linq」をinvoke codeアクティビティの先頭で
記述する必要があるのでしょうか?
よろしくお願いいたします。

こんにちは

Assign(代入)アクティビティの左辺と右辺にそれぞれ入力いただければ動きますので、一度お試しください。

Yoichi様
いつもご指導ありがとうございます。
無事実装できました。
LINQをしっかり使っていこうと思います。
もう少し基本的なところの勉強が必要ですが。。。(汗)

1 Like

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