간단한 방법으로 두가지 정도 생각나네요
첫번째는 TStringList의 DelimeterText를 이용하는 방법이구
두번째는 ExtractStrings 라는 함수를 이용하는 방법입니다.
사용예는 다음과 같이..
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *slst=new TStringList;
slst->Delimiter=';';
slst->DelimitedText="abc;123;aaa;bbb";
//확인
for(int i=0;iCount;i++)
ShowMessage(slst->Strings[i]);
delete slst;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TStringList *slst=new TStringList;
ExtractStrings(TSysCharSet() << ';' , TSysCharSet(),"abc;123;aaa;bbb",slst);
//확인
for(int i=0;iCount;i++)
ShowMessage(slst->Strings[i]);
delete slst;
}
//---------------------------------------------------------------------------
주의사항은 문자중간에 스페이스(공백문자)나 개행문자(CRLF) 등이 들어가는 경우에
그놈을 기준으로도 짤려집니다.
그럼..
voidman 님이 쓰신 글 :
: 일단 저는 왕초보구요..
: 제가 하려는게 뭐냐면 예를들어 "abc;123;aaa;bbb" 라는 값을
: TStringList에 각각 abc 123 aaa bbb 순차별로 집어넣으려고 합니다.
:
: 예전에 특정값으로 문자열을 분할 할수 있는 함수를 알았었는데 기억이 나질않네요.
: 도움 주시면 감사하겠습니다.
|