いつも大変お世話になっております。
Excelで取得した文字列の一部を抽出したいです。
文字列は「~から令和6年5月31日まで 」で、「令和6年5月31日」のみを取り除きたいです。
下記のように代入しました。
期間=System.Text.RegularExpressions.Regex.Match(期間,“\w+\d+年\d+月\d+日”).Value
結果は、「~から令和6年5月31日 」が抽出されます。
お気づきの点ありましたらご教授ください。
いつも大変お世話になっております。
Excelで取得した文字列の一部を抽出したいです。
文字列は「~から令和6年5月31日まで 」で、「令和6年5月31日」のみを取り除きたいです。
下記のように代入しました。
期間=System.Text.RegularExpressions.Regex.Match(期間,“\w+\d+年\d+月\d+日”).Value
結果は、「~から令和6年5月31日 」が抽出されます。
お気づきの点ありましたらご教授ください。
Hi @kiki1
Try the below regex:
Input= "~ to May 31, Reiwa 6"
Output= System.Text.RegularExpressions.Regex.Match(Input,"[A-za-z]*\s*\d*\,\s*[A-Za-z]*\s*\d*").Value
Regards
Hi @kiki1
You can use the below regular expressions,
Duration=System.Text.RegularExpressions.Regex.Match(Duration,"[A-Za-z]+\s+\d+\,.*"). Value
Check the below image for better understanding,
Hope it helps!!
こんにちは
要件にもよりますが、以下あたりいかがでしょうか?
System.Text.RegularExpressions.Regex.Match(strData,"(?<=から).*?(?=まで)").Value
あるいは
System.Text.RegularExpressions.Regex.Match(strData,"(?<=から)\w+?年\d+?月\d+?日").Value
ご提案ありがとうございます。
どんな文字列であっても日付を抽出できるようにしたいのですが、何か方法はありますか?
他の方がご提示くださっているような「[A-Za-z]」を使用すれば対応できるのでしょうか??
[A-Za-z]
は任意のアルファベットですので、見当違いかと思います。
抽出したい日付フォーマットが必ず元号xx年xx月xx日ならば以下で抽出可能です。(ただし明治以降)
System.Text.RegularExpressions.Regex.Match(strData,"(令和|平成|昭和|大正|明治)\d+?年\d+?月\d+?日").Value
日付フォーマットが変わるならそれに応じたパターンが必要になるかと思います。
解決できました。
いつもありがとうございます
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.