Teilstrings zählen und Anzahl zurückgeben

Begonnen von m-obi, 26. Dezember 2010, 07:19:47

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

m-obi

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

peewit

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

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?

peewit

Wo finde ich denn "IS_NUM"? Welche Lib?

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