文字の抜き出しと、小文字変換について

いつも参考にさせていただいております。3文字の変数Stringに対し、
①1番目と3番目の文字を抜き出し、1番目と3番目いずれも数字であるかの判定
②1番目と3番目の文字が大文字でも小文字でも、小文字に変換
以上を行いたいと考えています。(2文字目が―、/、-、等様々な入力名であるため)

例えば、
①で、1-1=True、修正1=False、5/2=True
②1-1→11、2-1→21、5/1→51、といった結果を得たいと考えております。

Uipathのアクティビティでいうと「一致するパターンを探す」というものもありましたが、この場合system.text.regularexpressionsを使ったほうが良いかと思いつつ、もしお分かりになる方がいらっしゃったらご教示ください。よろしくお願いいたします。

こんにちは

以下の式で判別可能です。1文字目3文字目がともに数字の場合Trueになります。

System.Text.RegularExpressions.Regex.IsMatch(yourString,"^\d.\d")

②1番目と3番目の文字が大文字でも小文字でも、小文字に変換

これは大文字・小文字ではなく全角・半角の意図でしょうか?

Yoichi様
早速のご返信ありがとうございます。
①についてありがとうございます。
②について全角・半角の意図となります。大変失礼いたしました。

まず①でTrue or False 判定し、Trueであったものについて②に進むという形でしょうか?

どちらでも可能ですが、1で対象文字が数字であることを確定したほうが処理としては確実かと思います。以下でそれぞれ1文字目3文字目の数字を半角化しています。

yourString = System.Text.RegularExpressions.Regex.Replace(yourString,"^.",Function(m) m.Value.Normalize(System.Text.NormalizationForm.FormKC))

yourString = System.Text.RegularExpressions.Regex.Replace(yourString,"(?<=^..).",Function(m) m.Value.Normalize(System.Text.NormalizationForm.FormKC))
1 Like

Yoichi様

ご教示いただきありがとうございます。
①でTrue or False とし、②複数代入にてご教示いただいた式で全角→半角変換することが出来ました。大変助かりました。ありがとうございます。

1 Like

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