Zeichenfolge nach regular Expression durchsuchen und diese dann in einen Variable speichern.

  • Sonstige

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von artle.

    Zeichenfolge nach regular Expression durchsuchen und diese dann in einen Variable speichern.

    Hallo erstmal :)

    bin neu hier und beschäftige mich seid neustem mit VBA, derzeit möchte ich prüfen ob in einer Zeichenfolge ein Datum steht.
    Dies mache ich mit Regulären Ausdrücken, das funktioniert auch soweit.

    Visual Basic-Quellcode

    1. Dim oRegExp As Object, oMatch As Object
    2. Dim strText As String
    3. Set oRegExp = CreateObject("vbscript.regexp")
    4. oRegExp.Global = False
    5. oRegExp.IgnoreCase = True 'kein case sensitive
    6. oRegExp.MultiLine = False
    7. ' Hier: Datumsangaben im Bereich 01.01.1900 bis 31.12.2099 zulassen
    8. oRegExp.pattern = "(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)[0-9]{2}"
    9. Set oMatch = oRegExp.Execute(p.Index.Level0_Index1)
    10. If (oMatch.Count = 0 Or Len(p.Index.Level0_Index1) <> 10) Then
    11. ' Fehler
    12. p.Index.Level0_Index4 = "Date False"
    13. p.Index.Level0_Index5 = p.Index.Level0_Index1
    14. Else
    15. p.Index.Level0_Index4 = "Date True"
    16. check = "True"
    17. End If
    18. Set oRegExp = Nothing
    19. Set oMatch = Nothing



    Nun würde ich aber gerne das Datum was er findet auch in einen String ablegen.
    Das kriege ich so aber nicht hin.

    Kann mir bitte jemand weiterhelfen?

    danke im voraus.

    grüße

    Ins richtige Unterforum verschoben.
    - Solaris

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Solaris“ ()

    artle schrieb:

    Set oMatch = oRegExp.Execute(p.Index.Level0_Index1)
    Gibt eine MatchCollection zurück.

    Visual Basic-Quellcode

    1. For Each Match in oMatch
    2. MsgBox Match
    3. Next
    4. MyVar = oMatch(1)
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()