質問: Regex.IsMatch(stTestStr, "\d{4}.\d\d.\d\d") 'Console.WriteLine(result) 'Console.WriteLine(test) 'stTestStr.Insert(10, "8") Console.WriteLine(stTestStr + " 00時00分") End Sub End Class ``` 上記は、このような感じでできるかなと思って記載しています。 何かご不明な点がありましたら、ご質問ください。 ご教示よろしくお願いいたします。
回答: 下記にて提示されたフォーマットの変換はできます。 但し、指定されたフォーマット以外でも変換できます。(1-Feb-2012等) ``` Dim teststring As String() = {"2019年01月01日", "2012/2/1", "1-Feb-12", "2012-02-01"} Dim OutputDate As DateTime Dim ci As New Globalization.CultureInfo("en-US") For Each test In teststring If DateTime.TryParse(test, ci, Globalization.DateTimeStyles.NoCurrentDateDefault, OutputDate) Then Console.WriteLine($"{test} = {OutputDate:yyyy年MM月dd日 HH時mm分}") End If Next ``` 厳密に行いたいのであれば、DateTime.TryParseExactメソッドを使用して ``` Dim Formats As String() = {"yyyy年MM月dd日", "yyyy/M/d", "d-MMM-yy", "yyyy-MM-dd"} If DateTime.TryParseExact(test, Formats , Globalization.DateTimeFormatInfo.InvariantInfo,Globalization.DateTimeStyles.None, OutputDate) Then Console.WriteLine($"{test} = {OutputDate:yyyy年MM月dd日 HH時mm分}") End If ``` とすればどうでしょうか