stringbearbeitung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • stringbearbeitung

    guten morgen zusammen,

    ich bin gerade dabei mich in string bearbeitung einzulesen und verschiedenes auszuprobieren.

    nun bin ich auf ein problem gestoßen wo ich mit meinem beschränktem c# wissen nicht weiter weiß:

    in einer string variable steht ein dateipfad. dieser ist aber variabel, da er vom user aus einer combobox ausgewählt werden kann bzw. er selbst einen eingeben kann.
    jetzt möchte ich diesen string verändern und zwar die letzten drei "ordnerebenen" möchte ich durch andere ersetzen. ich habe bis jetzt leider noch nicht rausgefunden wie ich das machen soll. mit string.Replace() kann ich zwar einzelne teile des strings verändern, aber da der string variablel ist bringt mir das wohl nichts. genauso ist es mit string.SubString, da auch die länge des strings variabel ist und ich somit nicht sicher sagen kann ab wo ich abschneide...

    kann mir bitte jemand weiter helfen??


    thx, truespin
  • Moin moin :)

    Hmm also meine idee wäre:

    1. Schauen wie lang ist der String, um herauszufinden ob das letzte Zeichen ein '/' ist. (beispiel: C:/Programme/Coding/)
    1.1 Wenn ja-> letzte Zeichen löschen (replacen mit ' ' und trimmen oder oder oder (gibt bestimmt nen elegenateren weg))
    1.2 Wenn nicht -> Punkt 2 :D

    2. Mit String.split (trennen bei '/') den String in Stringarray zerlegen.

    3. Deine diabolischen Pläne verwirklichen :)

    Gruß

    Thimo

    PS: Das wäre der einfachste weg, blöd wirds nur wenn irgendwann mal (warum auch immer) ein '//' vorkommt oder ein '\' ;)
  • hallo,

    wenn ich das mit dem string.Split() mache bekomme ich lauter String arrays zurück richtig?
    du meinst das ich als trennzeichen '/' angeben soll richtig?
    woher bekomme ich dann die letzten beiden arrays? wie greife ich auf die zu?

    meine idee war das ich string.LastIndexOf und string.Length mir erst die länge hole und dann vom letzten index aus rückwärts zähle. leider geht auch das nicht da der string variabel ist und ich somit nicht weiß wo welcher ordner anfängt bzw. aufhört...

    gibt es eine möglichkeit nach einem wort in dem string zu suchen und dann ab diesem wort alles ersetze?? mit string.Repalce() kann ich ja nur einzelne wörter/buchstaben ersetzen oder?


    thx, truespin
  • truespin schrieb:

    gibt es eine möglichkeit nach einem wort in dem string zu suchen und dann ab diesem wort alles ersetze?? mit string.Repalce() kann ich ja nur einzelne wörter/buchstaben ersetzen oder?


    hmmm, wenn du es so machen möchtest, kannst du doch mit indexOf() nach dem Wort suchen(also nach der Position) und dann mit substring den String von 0 bis indexOf(deinWort) zerlegen. Dann hast du das Stück was du möchtest.