Letztes Leerzeichen im String finden

10. September 2010 11:12

Da die Möglichkeit, Strings über den Index abzuarbeiten, nicht allzu bekannt ist, hier mal ein Codebeispiel einer Funktion. Sozusagen STRPOS(SearchText,' ') von hinten. :wink:

SearchText wird übergeben, i als Rückgabewert des letzten Leerzeichens
Code:
i := STRLEN(SearchText);
WHILE i > 0 DO BEGIN
  IF SearchText[i] = ' ' THEN
    EXIT(i);
   i -= 1;
END;

Nützlich z.B. um überlange Adressdaten auf 2 Felder aufzuteilen, ohne dabei das letzte Wort im ersten Feld zu zerschneiden.

Re: Letztes Leerzeichen im String finden

10. September 2010 13:23

Wenn man statt:
IF SearchText[i] = ' ' THEN

Code:
IF COPYSTR(SearchText,i,STRLEN(SearchString))=SearchString THEN


verwenden würde, könnte man so auch nach einer beliebigen Zeichenkette (SearchString) suchen.
Damit würde man STRPOS vollständig nachbauen, um die letzte Anfangsposition des Suchstrings auszugeben.

Sozusagen STRPOS(SearchText,SearchString) von hinten. :wink:

mfg,
winfy