時刻の抽出についてのご相談

いつも大変お世話になっております。

時刻の表記が「17:00」の場合でも、「17時」の場合でも、抽出できるようにコードを書いたつもりですが、うまく抽出できません。

今回の対象の時刻は、「17:00」

1には、下記コードが入っています。

System.Text.RegularExpressions.Regex.Match(期間,"(午前|午後)\d+時(\d+分)?").Value

New System.Globalization.CultureInfo("ja-JP")

3

ci.DateTimeFormat.Calendar=new System.Globalization.JapaneseCalendar()

4

DateTime.ParseExact(StrConv(〇〇締切時間,vbNarrow,&H411),{"H時","tth時","H時m分","tth時m分"},ci).ToString("HH:mm")

4でエラーが発生しています。
「 “message”: “代入: String ‘’ was not recognized as a valid DateTime.”,
“level”: “Error”,」

お気づきの点ありましたらご教授ください。

1 Like

この入力ですと

 System.Text.RegularExpressions.Regex.Match(期間,"(午前|午後)\d+時(\d+分)?").Value

では何も抽出できません。

 System.Text.RegularExpressions.Regex.Match(期間,"(午前|午後)\d+時(\d+分)?|\d+:\d+").Value

のようにする必要があります。
また4のDateTime.ParseExact で 17:00に対応するパターン 例えば、“HH:mm” を追加する必要があると思います。

1 Like

失礼いたしました、、
今回の対象は「17時00分」でした。
回答に変更はございますか?

1 Like

これが入力ですと正規表現は以下を試してみてはと思います。4の方はそのままでも通るように思えます。

System.Text.RegularExpressions.Regex.Match(期間,"(午前|午後)?\d+時(\d+分)?").Value
2 Likes

解決しました。
いつもありがとうございます :relieved:

2 Likes

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