Sunday 문자열 검색 알고리즘 Delphi 구현
787 단어 Delphi
function PosEx(KeyStr, TextStr: string): Integer;
var
I: Integer;
KeyLen, BuffLen: Integer;
function Match(N: Integer): Boolean;
var
J: Integer;
begin
Result := True;
for J := 0 to KeyLen - 1 do
if TextStr[J + N] <> KeyStr[J + 1] then begin
Result := False;
Exit;
end;
end;
begin
Result := 0;
I := 1;
KeyLen := Length(KeyStr);
BuffLen := Length(TextStr);
while not Match(I) do
begin
if I > BuffLen then Break;
if Pos(TextStr[I + KeyLen], KeyStr) <> 0 then begin
I := I + 1 + KeyLen - Pos(TextStr[I + KeyLen], KeyStr);
end else begin
I := I + KeyLen;
end;
end;
if Match(I) then
Result := I;
end;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.