goodbytes
Goto Top

Teilstring nach Splitten in Variablen schreiben vbs

Hallo,
das Aufsplitten des Strings mittels Regular Expressions funktioniert bereits hiermit:

strSearch="###Das_ist_Feld_1#### BlaBlaBla 101 ###Das_ist_Feld_2#### BlaBlaBla 102 ###Das_ist_Feld_3#### BlaBlaBla 103 ###Das_ist_Feld_4#### BlaBlaBla 104"  
Call RegExpressions("###\w*####",strSearch)  

Function RegExpressions(strPattern, strSearchString)
  
  Dim regEx, Match, Matches, i
  Set regEx = New RegExp
  regEx.Pattern = strPattern
  regEx.IgnoreCase = True
  regEx.Global = True

  Set Matches = regEx.Execute(strSearchString)

  For Each Match in Matches	
	i = i + vbCRLF + "Match-Wert: " & Match.Value & " Match-Position: " & Match.FirstIndex  
  Next

  MsgBox i
  
End Function

Danach habe ich Vieles hin und her probiert um die gefundenen Stellen in einzelne Variablen zu schieben.
Die NACH dem gefunden Suchstring folgenden Zeichen bis zum NÄCHSTEN Suchstring sollen jeweils in eine eigene Variable geschrieben werden. In dem Beispiel also strVar1= "BlaBlaBla 101". Allerdings gibt es beim letzten Suchstring natürlich keinen weiteren, dann soll also alles bis zum Ende genommen werden.
Es geht sicher mit ziemlich wenig Code innerhalb der Schleife....

Danke schon mal im Voraus!
goodbytes

Content-ID: 309919

Url: https://administrator.de/contentid/309919

Ausgedruckt am: 24.11.2024 um 17:11 Uhr

116301
Lösung 116301 15.07.2016 aktualisiert um 12:23:17 Uhr
Goto Top
Hallo goodbytes!

Versuchs mal so:
strSearch = "###Das_ist_Feld_1#### BlaBlaBla 101 ###Das_ist_Feld_2#### BlaBlaBla 102 ###Das_ist_Feld_3#### BlaBlaBla 103 ###Das_ist_Feld_4#### BlaBlaBla 104"  

Call RegExpressions("#{3}([^#]+)#{4}([^#]+)", strSearch)  

Function RegExpressions(strPattern, strSearchString)
    Dim objRegExp, objMatches, objMatch, strMsg
  
    Set objRegExp = New RegExp
  
    With objRegExp
        .Global = True
        .IgnoreCase = True
        .Pattern = strPattern
         Set objMatches = .Execute(strSearchString)
    End With

    For Each objMatch In objMatches
        strMsg = strMsg & Trim(objMatch.SubMatches(0)) & " = " & Trim(objMatch.SubMatches(1)) & vbCr  
    Next
    
    MsgBox strMsg
End Function
Gruß Dieter
goodbytes
goodbytes 15.07.2016 um 14:50:31 Uhr
Goto Top
Hallo Dieter,
funktioniert perfekt, vielen vielen Dank für die schnelle Hilfe und ein schönes Wochenende! face-smile

Gruß Torsten