Autor Thema: Teilstrings zählen und Anzahl zurückgeben  (Gelesen 6073 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

m-obi

  • Gast
Teilstrings zählen und Anzahl zurückgeben
« am: 26. Dezember 2010, 07:19:47 »
Hallo,

hat jemand zufällg eine Funktion, welche einen Teilstring in einem String sucht, und die Anzahl zurückgibt, wie oft der Teilstring gefunden wurde?
Und wenn wir schonmal bei Strings sind. Ich bräuchte auch noch eine, die feststellt ob in einem String nur Zahlen vorkommen?
Wenn es die gibt, muss ich die nicht nochmal selber entwerfen.


Gruß m-obi

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re:Teilstrings zählen und Anzahl zurückgeben
« Antwort #1 am: 26. Dezember 2010, 10:00:31 »
teilstring zählen gibt es noch nicht

ich habe dir eine funktion gebastelt , die das erledigt
(bei pcworx musst du es ein wenig abändern , bzw. statt function muss du einen functionblock nehmen )

FUNCTION COUNT_SUBSTRING : INT
VAR_INPUT
   SEARCH : STRING;
   STR : STRING;
END_VAR
VAR
   pos : INT;
   size : INT;
END_VAR

COUNT_SUBSTRING := 0;
size := LEN(SEARCH);
REPEAT
   pos := FIND(STR,SEARCH);
   IF pos > 0 THEN
      STR := REPLACE(STR, '', size,pos);
      COUNT_SUBSTRING := COUNT_SUBSTRING + 1;
   END_IF;
UNTIL pos = 0
END_REPEAT;

------------------------------

mit "IS_NUM" kannst du prüfen ob in einem string nur zahlen vorkommen

------------------------------
gruss peewit
 

m-obi

  • Gast
Re:Teilstrings zählen und Anzahl zurückgeben
« Antwort #2 am: 26. Dezember 2010, 11:59:23 »
Vielen Dank,

ich häts auch so gemacht, aber wollte es erstmal versuchen zu lösen in FBD.
Aber nimm das erstmal.

Wo finde ich denn "IS_NUM"? Welche Lib?

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 378
    • Profil anzeigen
Re:Teilstrings zählen und Anzahl zurückgeben
« Antwort #3 am: 26. Dezember 2010, 18:38:42 »
Wo finde ich denn "IS_NUM"? Welche Lib?

die findest du in der oscat.lib in bereich "STRING"