以下の例のように、Pascalスクリプトで文字列が他の文字列に何回現れるかをカウントしたいとします。Pascal Script Count別の文字列に文字列が現れる回数
私はDelphi: count number of times a string occurs in another stringの答えを見ましたが、パスカルスクリプトにはPosEx
の機能はありません。私はHello
またはWorld
がここで発生した回数をカウントした場合、私は,
(カンマ)は、ここで発生した回数をカウントした場合
MyString := 'Hello World!, Hello World!, Hello World!, Hello World!';
、結果は4
をする必要があり、結果は3でなければなりません。
UPDATE
以下の機能が動作しますが、それはコピーの新しい変数に再び文字列を与えられた、と文字列の一部を削除それゆえ、それはゆっくりと働く。
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;
これはコード作成サービスではありません。あなた自身でこれを行うために何か努力しましたか?あなたはPosExなしでそれを行うことができます。 PosExが存在するまでに何十年も前から行われてきました。 –
はい私は完了しましたが、コードが期待通りに機能しないため、投稿できません。 – GTAVLover
その後、動作していないコードを投稿し、*そのコードについて特定の質問*をお願いします。繰り返しますが、これはコード作成サービスではなく、あなたの要件と言語を投稿し、誰かがあなたのためにコードを生成します。 –