リテラル内のtabに関して

こんにちは、

以下のようなテキストファイルを読み込み、8桁連続数字だけをyyyy/mm/ddの形式に変えたく、当フォーラムにして以下手法をご教示いただきました。
※項目間の空白はTABです

<元のテキスト:Intext>
aaaaa 20210821 abcde123456789fghij
bbbbb 20210711 klmno987654321pqrst

<代入アクティビティ>
intext = system.Text.RegularExpressions.regex.Replace(intext,“(\d{4})(\d{2})(\d{2})”,“$1/$2/$3”)

とすると、以下のように3列目の数字まで変わってしまいました。
aaaaa 2021/08/21 abcde1234/56/789fghij
bbbbb 2021/07/11 klmno9876/54/321pqrst

求めたい結果は以下の通りで、tab+数字8桁+tabのものだけ処理するようにしたいのですが、どのように記述すれば良いでしょうか?
aaaaa 2021/08/21 abcde123456789fghij
bbbbb 2021/08/21 klmno987654321pqrst

お手数をおかけしますが、宜しくお願い致します

区切り文字をTABにした「CSV読み込み」アクティビティで、DataTableにしてから、「繰り返し(各行)」アクティビティで、Row.Item(1)をyyyy/MM/ddに変換する。

その後DataTableをファイル化してみてはいかがでしょう?

早速のご回答ありがとうございます!
「Row.Item(1)をyyyy/MM/ddに変換する」
不勉強で大変申し訳ありませんが、これをどのような形で実装したらよいのでしょうか・・・?
何度もお手数をおかけして申し訳ありませんが、宜しくお願い致します

こんにちは

以下お試しください

System.Text.RegularExpressions.regex.Replace(intext,"(?<=\t)(\d{4})(\d{2})(\d{2})(?=\t)","$1/$2/$3")

ありがとうございました!
これで解決できました!

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