Ich möchte zählen, wie oft ein String in einem anderen String in Pascal Script auftritt, wie im folgenden Beispiel gezeigt.Pascal Script Anzahl der Male, die eine Zeichenfolge in einer anderen Zeichenfolge auftritt
Ich habe die Antwort auf Delphi: count number of times a string occurs in another string gesehen, aber es gibt keine PosEx
Funktion in Pascal Script.
MyString := 'Hello World!, Hello World!, Hello World!, Hello World!';
Wenn ich die Anzahl der Male Hello
oder World
tritt hier zählen, sollte das Ergebnis 4.
sein, wenn ich die Anzahl der ,
(Komma) hier auftritt zählen, sollte das Ergebnis 3 sein.
UPDATE
Die folgende Funktion funktioniert, aber es Kopien String wieder auf eine neue Variable gegeben und löscht Teile String s, so funktioniert es langsam.
function OccurrencesOfSubString(S, SubStr: String): Integer;
var
DSStr: String;
begin
if Pos(SubStr, S) = 0 then
Exit
else
DSStr := S;
Repeat
if Pos(SubStr, S) <> 0 then
Inc(Result);
Delete(DSStr, Pos(SubStr, DSStr), Length(Copy(DSStr, Pos(SubStr, DSStr), Length(SubStr))));
Until Pos(SubStr, DSStr) = 0;
end;
Dies ist kein Code-Schreibdienst. Haben Sie sich überhaupt darum bemüht? Sie können es ohne PosEx machen; Es wurde Jahrzehnte lang gemacht, bevor PosEx überhaupt existierte. –
Ja, aber ich konnte meinen Code nicht veröffentlichen, da er nicht wie erwartet funktioniert. – GTAVLover
Dann poste deinen Code, der nicht funktioniert, und * stelle eine spezifische Frage * zu diesem Code. Auch hier handelt es sich nicht um einen Codewriting-Service, bei dem Sie Ihre Anforderungen und die Sprache Ihrer Wahl posten und jemand Code für Sie erstellt. –