rawie87
Goto Top

Ende des Strings nach einem Backslash abtrennen

Hallo Leute,

weiss jemand von euch wie ich den String so abtrenne, dass nur der Dateiname nach dem "\" übrig bleibt ?

..\test\Daten\Muster\Programmierung\test.bmp

Bin für jede Anwtwort dankbar.

gruß raiwe

Content-Key: 58278

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

Printed on: April 16, 2024 at 12:04 o'clock

Member: Dani
Dani May 07, 2007 at 15:43:15 (UTC)
Goto Top
Hi!
In welcher Sprache hättest du gerne die Lösung?? Diese Kategorie umfasst mehrere Sprachen(Visual Basic, VBA und .Net).


Gruß
Dani
Member: bastla
bastla May 07, 2007 at 16:23:16 (UTC)
Goto Top
Hallo rawie87!

Sollte so gehen:
Pfad = "..\test\Daten\Muster\Programmierung\test.bmp"  
Dateiname = Mid(Pfad, InStrRev(Pfad, "\") + 1)  

@Dani: Solange es kein VB5 ist, sollte es mit InStrRev() klappen ...

Grüße
bastla
Member: rawie87
rawie87 May 08, 2007 at 06:51:04 (UTC)
Goto Top
Hallo Leute,

ich möchte das in vb.net machen.

@busta könntest du den Mid-Befehl mal kurz erläutern oder
mir irgenteine Siete oder sowas nennen, wo ich den mal nachvollziehen kann ?

gruß rawie
Member: bastla
bastla May 08, 2007 at 08:19:04 (UTC)
Goto Top
Hallo rawie87!

Meintest Du mich?

Falls ja: Da meine F1-Taste funktioniert, kann ich Dir mitteilen, was (bei VB2005) dazu in der Hilfe steht:

Mid-Funktion (Visual Basic)
Gibt eine Zeichenfolge zurück, die eine festgelegte Zeichenanzahl aus einer Zeichenfolge enthält.

Anders formuliert: Du kannst angeben, dass aus dem übergebenen String ab der angeführten Position eine bestimmte Anzahl von Zeichen entnommen wird. Wenn Du, wie in meinem Beispiel oben, die Zeichenanzahl nicht angibst, erhältst Du als Ergebnis alle Zeichen ab der angegebenen Position bis zum Ende des Strings. Konkret: Mit
Mid(Pfad, 37)
(oder eigentlich 36 + 1, siehe dazu unten) bekommst Du alle restlichen Zeichen ab Position 37 (inklusive) des Strings "Pfad". Damit ist es nur eine verkürzte Schreibweise für
Microsoft.VisualBasic.Right(Pfad, Len(Pfad) - 36)
Zur mehrfach erwähnten Position 37 kommst Du über die

InStrRev-Funktion (Visual Basic)
Gibt die Position des ersten Vorkommens einer Zeichenfolge innerhalb einer anderen Zeichenfolge von rechts nach links gesehen zurück.

Im Beispiel oben steht der erste (von rechts gesehen, daher von links betrachtet der letzte) "\" an Position 36 (die Position wird immer von links her angegeben) - ermittelt eben mit
InStrRev(Pfad, "\")  
Da Du den Rest des Strings nach dieser Position benötigst, musst Du noch 1 addieren und erhältst damit die ominöse 37 ...

Grüße
bastla
Member: rawie87
rawie87 May 08, 2007 at 09:09:03 (UTC)
Goto Top
Hej Bastla.

super ! danke für die schnelle Hilfe

gruß rawie ;)