Split

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von ich5003.

    Hey Leute,

    ich bin gerade dabei einen dateinamen, in einzelteile zu splitten, das geht soweit auch, ich kann einfach FileName.Split("."). Wenn meine Datei nun zum Beispiel Datei_Version1.2.3.4_#5678.jar heißt, will ich am ende noch Datei_Version1.2.3.4_#5678 ohne das .jar haben. Das Problem ist, wenn ich FileName.Split(".").first mache, dann habe ich ja dann nur Datei_Version1 übrig.
    Also und jetzt meine Frage:
    Kann ich einen String so splitten, das ich noch alles bis auf das letzt übrig habe, also so wie Test.Split(".").last, aber dass ich dann eben alles außer das was ich eigentlich eingegeben habe?
    Wozu Split?
    Erstell Dir eine FileInfo-Instanz, da ist alles drin:

    VB.NET-Quellcode

    1. Dim fi = New IO.FileInfo("c:\Temp\Test.png")
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    MVN050 schrieb:

    ich weiss nit aber wie wäre es mit
    FileName.Split(".jar") ?
    dan müsste der split-0 ja alles vorher sein und split 1 müsste alles danach sein? also error :D


    Das geht nicht, da man nur an einem zeichen splitten kann, aber ich kann einfach .jar durch zum Beispiel | ersetzen, und dann an | splitten ;)
    Okay, damit wäre das problem gelöst

    VincentTB schrieb:

    Oder es geht auch so:

    VB.NET-Quellcode

    1. IO.Path.GetFileNameWithoutExtension("Pfad")


    An sich ist das gut, aber mit der Datei wird im Vorraus schon ein paar mal gearbeitet, und innerhalb des programms umbennant, also geht das nicht

    ich5003 schrieb:

    aber mit der Datei wird im Vorraus schon ein paar mal gearbeitet
    Da ist die IO.FileInfo doch genau das richtige für Dich, sieh Dir ihre Member an:

    VB.NET-Quellcode

    1. fi.MoveTo("c:\Temp\Test\xxx.ping")
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    ich5003 schrieb:

    aber mit der Datei wird im Vorraus schon ein paar mal gearbeitet
    Da ist die IO.FileInfo doch genau das richtige für Dich, sieh Dir ihre Member an:

    VB.NET-Quellcode

    1. fi.MoveTo("c:\Temp\Test\xxx.ping")


    Was genau passiert:

    -Datei wird aus dem interet heruntergeladen und richtig benannt
    -Datei wird kopiert
    -Kopierte datei wird umbenannt
    -dann auf einen FTP server hochgeladen
    -die alte datei wird dann in 3 teile gesplittet, also ServerProgramm, ServerVersion, ServerBuild
    -die 3 splits werden dann auf einer website in 3 verschiedene Textboxen eingetragen
    -und nun benutze ich wieder die originaldatei, um mir die ganze Datei ohne Endung als string in eine textdatei zu speichern, um automatisch beim nächsten programmstart nach updates suchen zu können

    Und da es jetzt ja funktiniert, ist es ja kein problem.