Pracuję nad zastąpieniem źle sformułowanych ciągów znaków daty (i innych elementów) za pomocą wyrażeń regularnych VBA w programie Excel.Wyrażenie regularne VBA, zastępowanie grup
szukam zastąpić date ciągi, które mają właściwy format YYYY-MMM-DD, ale brakuje separatorów kreskami - takie rzeczy jak:
2014,APRIL,04 or
2014.Apr,04 or
2014/Apr-04
bym je lubią być sformatowany jak któryś z te:
2014-Apr-04
2014-April-04
(czyli utrzymanie rok, miesiąc, dzień jak elementy zostały dostarczone, ale po prostu zastępując ograniczniki z myślnikiem, a nie przecinek, kropka lub innych dziwnych znaków)
Kod ja obecnie mam to:
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")
With RE
.Global = False ' Several occurrence to be found
.IgnoreCase = True
.Pattern = "(((19|20)[0-9]{2})[, /.]([a-zA-Z]+)[, /.](0[1-9]|[12][0-9]|3[01])[, /.])"
End With
Dim ReplacePattern As String
ReplacePattern = "$1-$2-$3"
Dim match As Boolean
match = RE.Test(LogEntryTxt)
LogEntryTxt = RE.Replace(LogEntryTxt, ReplacePattern)
ale wydaje się, że wymiana nie jest wykonane prawidłowo. Czy ktoś może pomóc? Próbowałem badać nazwane grupy, ponumerowane grupy itp., Ale nic, co próbowałem, nie dokonało tego.
Dziękuję !! Nie mogę uwierzyć, że przeoczyłem taką głupią rzecz! :) Dziękuję, naprawdę. – user3477276