お世話になります。
まず結論から言って、下記の"2019年01月01日 18時28分"の形式の表示にしたいです。
VB.NET
1Dim stLastExecDate as string = "2019年01月01日 18時28分"
上記形式にしたいのは、下記文字列の4パターンです。
- 2019年01月01日
- 2012/2/1
- 1-Feb-12
- 2012-02-01
つまり、どのパターンで入力しても、(日付は何日でもよい)
正規表現でいうと、
"\d{4}年\d\d月\d\d日\s\d\d時\d\d分"
の形式にOutPutされれば問題ないです。
今の現状として、
エクセルのB2セルに
stLastExecDate となる 値、"2019年01月01日 18時28分"が入力されています。
これをVisualStudioでもいいのですが、
上記1~4の時間部分を除く日付までの入力で、あとは自動で"00時00分"が
加わればよいです。
1から4は日付の形式が米国のものもあるので、時間は米国に合わせます。
String.Containsで("-")や("/")などが含まれているとき別に、
条件分岐をして
String.replace()もしくはString.insert()などを使用すれば実装できるかなと思っていますが、
正規表現を使えばもっと簡単にできるよというのがあれば、知りたくてご質問いたしました。
Imports System Imports System.Text.RegularExpressions Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim stLastExecDate As String = "2081年01月03日 18時00分" Dim stTestStr As String = "2000-01-03" 'Dim result As Boolean = Regex.IsMatch(stLastExecDate, "\d{4}年\d{2}月\d\d日\s\d\d時\d\d分") 'Dim test As Boolean = 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件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/14 04:43
2019/01/14 04:58
2019/01/14 10:18
2019/01/14 10:55
2019/01/14 12:42 編集