개발노트/Delphi

[Delphi/초급] 델파이에서 Split 를 사용하여 내용 자르기

KIMPRO김프로 2020. 10. 12. 20:39

 

 

이번 포스팅에서는 델파이에서 Split 를 사용하는 방법을 알아보도록 할게요.

 

따로 설명드릴게 없이 코딩으로 바로 보여드리겠습니다.

 

 type
  TBananaArray = array of string;

TBananaArray 에 스트링어레이들을 선언해줍니다.

 

임의값이니 아무렇게나 바꾸셔도 상관없습니다.

 

Function Split(Str :string;First:string;Second:string):TBananaArray;
var
Source : string;
i:integer;
begin

try
 Screen.Cursor:=crDefault;

  Source := Str;
  i:=0;
  SetLength(Result,9999);
while Pos(First,Source) > 0 do begin
  Source := Copy(Source,Pos(First,Source) + Length(First),Length(Source));
   Result[i] := Copy(Source,1,Pos(Second,Source)-1);
   inc(i);
end;
SetLength(Result,i);
except



end;
end;

가장 중요한 Split Function 입니다.

 

Str = 내용

First = 어디서부터 자를것인지

Second = 어디까지 자를것인지

 

이렇게하여 TBananaArray 라는 array of string 에 담겨지게 됩니다.

 

 

이제 예제를 들어보겠습니다.

 

첫번째 과일은 "사과" 입니다
두번째 과일은 "포도" 입니다
세번째 과일은 "수박" 입니다
네번째 과일은 "오렌지" 입니다

 

위의 내용에서 사과만 표시하고싶다.

 

아래와 같이 나타냅니다.

 

procedure TForm1.Button1Click(Sender: TObject);
var
ResultText: string;
begin

ResultText := Split(내용,'과일은 "','"')[0];

end;

 

Split( 내용 ,  " 부터 , " 사이까지  )  [몇번째];

 

내용안에는 " " 사이에 사과라는 글자는 첫번쨰에 있으니, 0이 시작인 index로 표시하면 0번째로,

 

ResultText 에는 사과라는 글자가 잘려지게 됩니다.

 

[0] = 사과

[1] = 포도

[2] = 수박

[3] = 오렌지

 

이렇게 델파이에서 Split 쓰는방법 포스팅을 마치겠습니다.

 

 

모르시는부분이 있다면 댓글 남겨주시면 친절하게 답변 드리겠습니다~

 

감사합니다~