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-Key: 309919

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

Printed on: April 24, 2024 at 22:04 o'clock

Mitglied: 116301
Solution 116301 Jul 15, 2016 updated at 10:23:17 (UTC)
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
Member: goodbytes
goodbytes Jul 15, 2016 at 12:50:31 (UTC)
Goto Top
Hallo Dieter,
funktioniert perfekt, vielen vielen Dank für die schnelle Hilfe und ein schönes Wochenende! face-smile

Gruß Torsten