Ein Zeichen im String$

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Ein Zeichen im String$

Beitrag 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/"
Bild
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag 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.
Win11 x64 | PB 6.20
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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/
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag 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
Bild
Antworten