# String zerlegen in VBA...



## Mediax (21. Mai 2007)

Hallo alle zusammen,

ich stehe momentan vor dem Problem, das ich folgenden String zerlegen muss:

_D:\eclipse\workspace\projektname\web\WEB-INF\resource\test.properties_

Ich möchte aus diesem String die Information "projektname" filtern, allerdings ist dieser String nicht statisch, d.h. nur "\web\WEB-INF\resource\" ist immer gleich. Das ist also mein einziger Anhaltspunkt, da der Projektname immer vor "\web\WEB-INF\resource\"  kommt.

Weiß jemand von euch, wie man anhand dieser Informationen an den Projektnamen kommen kann? Ich kenne mich bisher in den String Methoden von VBA sehr sehr schlecht aus.

Vielen Dank !


----------



## Alex F. (21. Mai 2007)

als ersten ansatz hätte ich

```
rest = Replace (meinstring, statischerText,"")  ' statischer text muss mit \ angegeben sein
    i = InStrRev (rest,"\",1,vbTextCompare )
    ergebnist = Mid ( rest,i )
```

Grüsse bb


----------



## wincnc (21. Mai 2007)

Hallo, hier noch ein Lösungsansatz:

```
Private Sub CommandButton1_Click()
  MsgBox GetProjektName("D:\eclipse\workspace\projektname\web\WEB-INF\resource\test.properties")
End Sub

Private Function GetProjektName(ByVal Pfad As String) As String
Dim cSuch As String
  
  On Error GoTo Fehler
  
  cSuch = "\web\WEB-INF\resource\"
 
  GetProjektName = Mid(Pfad, _
  InStrRev(Pfad, "\", InStr(1, Pfad, cSuch) - 1) + 1, _
  InStr(1, Pfad, cSuch) - InStrRev(Pfad, "\", InStr(1, Pfad, cSuch) - 1) - 1)

  Exit Function
  
Fehler:
  MsgBox Err.Description
  GetProjektName = ""
  Exit Function

End Function
```


----------



## erwin (8. April 2010)

was mir dazu einfällt ist die Funktion split(..., ..., ...) (0)
split(..., ..., ...) (1)
split(..., ..., ...) (2)


----------

