[gelöst] Anzahl Zeichen im String

23. Juni 2010 09:44

Hallo allerseits,

ich habe folgenden String :
"VBL110001,45465,4544,1111"

In diesen String sind drei Kommas vorhanden. Wie kann ich diese Anzahl durch ein Befehl herausfinden damit ich diese Anzahl in eine Variable speichern kann.
Zuletzt geändert von dai am 23. Juni 2010 15:58, insgesamt 1-mal geändert.

Re: Anzahl Zeichen im String

23. Juni 2010 09:52

Da zumindest ich keinen Befehl dazu kenne, würd ich es so abbilden (ungetestet):

Code:
TempStr := "VBL110001,45465,4544,1111";
SearchStr := ',';
Counter := 0;
WHILE STRPOS(TempStr, SearchStr) > 0 DO BEGIN
  Counter += 1;
  TempStr := DELSTR(TempStr, STRPOS(TempStr, SearchStr), STRLEN(SearchStr);
END;


Counter = gesuchte Anzahl.

Vielleicht hat Timo in seiner Toolsammlung dazu was Schöneres.

Re: Anzahl Zeichen im String

23. Juni 2010 09:52

Guckst du hier.

Re: Anzahl Zeichen im String

23. Juni 2010 09:55

McClane hat geschrieben:Guckst du hier.

lol ja richtig, ich erinnere mich wieder ... :roll:

Edit: Meine Lösung dürfte aber dann notwendig sein, wenn die Suche über ein Zeichen (z.B. Komma) hinausgeht, z.B. ':=".

Re: Anzahl Zeichen im String

23. Juni 2010 09:57

Mit STRPOS kannst du herausfinden, wo sich das erste ',' befindet. Dieses zählst du. Jetzt musst du den String bearbeiten, und es aus dem String entfernen (DELSTR). Danach kannst du wieder nach dem nächsten Komma suchen, und so weiter, bis schlussendlich keines mehr vorhanden ist.

Da du einen komma-separierten String hast und ich nicht genau weiß, was du eigentlich machen willst: Du könntest dir auch mal die Funktion SELECTSTR anschauen.

Gruß,
Sebastian

[EDIT] Natalie war mal wieder schneller am 'Absenden'-Drücker :shock: Lösung ist auch schöner, wie meine [/EDIT]

Re: Anzahl Zeichen im String

23. Juni 2010 10:15

Nagut, ich hätte für Natalies Sonderwünsche dann noch:
Code:
CountSubString(InputString : Text[255];SearchString : Text[30]) : Integer
if strpos(InputString,SearchString)=0 then
  exit(0)
else
  exit(1+CountSubString(copystr(InputString,strpos(InputString,SearchString)+strlen(SearchString)),SearchString));

Re: Anzahl Zeichen im String

23. Juni 2010 10:21

McClane hat geschrieben:Nagut, ich hätte für Natalies Sonderwünsche dann noch:

Wenn du nicht so gemein zu mir wärst, hätte ich dir ein ein "genial" attestiert :mrgreen:

Re: Anzahl Zeichen im String

23. Juni 2010 11:07

Natalie hat geschrieben:Wenn du nicht so gemein zu mir wärst, hätte ich dir ein ein "genial" attestiert

So knapp war ich an dem ersten netten Wort von dir dran? :cry: :lol:

Re: Anzahl Zeichen im String

23. Juni 2010 14:51

da hab ich auch noch einen Versuch 8-)
Code:
x := 'abc,qwe,,er,,';
i := strlen(x) - strlen(delchr(x,'=',','));
message('%1',i);

Re: Anzahl Zeichen im String

23. Juni 2010 15:18

Das ist natürlich auch recht schick 8-)

Re: Anzahl Zeichen im String

23. Juni 2010 15:22

Aber nicht die Extended Version mit einem Suchstring größer als ein Zeichen :twisted:

Re: [gelöst] Anzahl Zeichen im String

23. Juni 2010 15:59

Halle allerseits,

vielen Dank für die viele Beiträge. Es klappt wunderbar