파스칼 스크립트의 다른 문자열에서 문자열이 몇 번이나 발생하는지 계산하려고합니다. 아래 예와 같습니다.Pascal Script Count 문자열이 다른 문자열에서 발생하는 횟수
나는 Delphi: count number of times a string occurs in another string에 대한 답을 보았지만, 파스칼 스크립트에는 PosEx
기능이 없습니다. I는 Hello
또는 World
여기서 발생 횟수를 카운트하면 I가 ,
(쉼표) 여기서 발생 횟수를 카운트하는 경우
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
그런 다음 작동하지 않는 코드를 게시하고 해당 코드에 대해 특정 질문 *을하십시오. 다시 말하지만, 이것은 요구 사항과 선택 언어를 게시하고 누군가가 코드를 작성하는 코드 작성 서비스는 아닙니다. –