자료에 등장하지 않는 문자를 하나 준비해서 그것으로
임시로 공백문자를 치환해서 변환한뒤,
결과 물에서 다시 원래대로 돌려 공백으로 되돌려 놓으면 되는
나는 꼼수다.
//---------------------------------------------------------------------------
void __fastcall TForm1::Panel1Click(TObject *Sender)
{
// 공백있는 자료 추출 꼼수
String text = "1234566788|서울시 서초구 서초동|우리집||0|87|4|431113236004";
TStringList *list = new TStringList;
try
{
list->Delimiter = '|';
list->DelimitedText = StringReplace(text, " ", "`", TReplaceFlags() << rfReplaceAll);
for(int c = 0; c < list->Count; c++)
{
list->Strings[c] = StringReplace(list->Strings[c], "`", " ", TReplaceFlags() << rfReplaceAll);
Memo1->Lines->Add(list->Strings[c]);
}
}
__finally
{
delete list;
}
}
//---------------------------------------------------------------------------
|
TStringList의 속성중에 StrictDelimiter가 있는데 이것을 true로 하면
지정한 구분자(Delimiter)만 사용합니다(공백을 구분자로 사용 하지 않음).
list->Delimiter = '|';
list->StrictDelimiter = true;
이렇게만 해주면 끝납니다.
참고하세요 ^^*