Seite 1 von 1

Ein Zeichen im String$

Verfasst: 28.09.2008 15:41
von Tsuki-Namida
Hallo,
ich schon wieder -.-

und zwar habe ich in einem String$ ein bestimmtes Zeichen Mehr mals aber ich muss das vorletze finden... die anzahl ist un bestimmt wie sie in diesem String$ vorkommen können...

hier ein beispiel das was ich finden muss ist markiert...

A/B/X/OderSo/und das/unddies/

da ich den letzten teil rauslöschen muss... in dem Beispiel wäre das "unddies/"

Verfasst: 28.09.2008 15:58
von Andesdaf
So kannst du das letzte Zeichen in einem String finden:

Code: Alles auswählen

Procedure.l FindLastString(String$,StringToFind$)
  
  Protected Find.l = 0
  Repeat
    Protected NeuePos.l = FindString(String$,StringToFind$,Find+1)
    If NeuePos = 0
      Break
    EndIf
    Find = NeuePos
  ForEver
  ProcedureReturn Find
EndProcedure
Einfach das gefundene bis zum Ende weglöschen und die Prozedur noch einmal ausführen.

Verfasst: 28.09.2008 16:01
von STARGÅTE
du könnten mit Tricks arbeiten:

Erst alle / zu \ machen und dann mit GetPathPart(DateiPfad$) vor-Verzeichnis ermitteln und dann wieder zurück schreiben:

A/B/X/OderSo/und das/unddies/
A\B\X\OderSo\und das\
A/B/X/OderSo/und das/

Verfasst: 28.09.2008 16:25
von Tsuki-Namida
suuuper das geht ja mal perfeckt xD

ich habe mehr arbeit erwartet :)
vielen, vielen dank euch allen

ich habe das jetzt so geregelt:

Code: Alles auswählen

    String$ = "A/B/C/D/E/F/und/so/weiter/" ;String füllen
    String$ = ReplaceString(String$, "/" ,"\") ;Alle "/" und "\" ändern
    String$ = Mid(String$, 1, Len(String$) - 1) ;Das letzte "\" entvernen
    String$ = GetPathPart(String$) ;Das letzte Verzechnis entvernen
    String$ = ReplaceString(String$, "\" ,"/"); Alle "\" zurück in "/" ändern
    Debug String$ ;Debug Ausgabe zur überprüfung