|
스트링파싱 님이 쓰신 글 :
: "1,264,3234,4562" 라는 문자열을 ','기준으로 짤라내고 싶은데 도저히 모르겠어요
:
: 자릿수도 고정이아니라 변동이라서
:
: Pos함수를 쓰면 첫번째 ',' 인덱스 값만 가져오는데 2번째 ','인덱스를 어떻게 가져와야 할지
:
: 도움좀 주시면 감사하겠습니다.
:
Pos로 가져온 인덱스로 앞부터 잘라낸후,
나머지를 다른 변수에 저장했다가 똑같은일을 반복 하면 됩니다.
아래는 예전에 비슷한일로 고민하다가 만든 함수인데요.
AnsiString으로 대상과, 구분할 문자를 받아서 vector로 리턴하는 함수입니다.
std::vector<AnsiString> __fastcall TForm1::DivideAnsiString(AnsiString Src, AnsiString Delimiter)
{
std::vector<AnsiString> Result;
while (Src.Pos(Delimiter)) {
Result.push_back(Src.SubString(1,Src.Pos(Delimiter)-1).Trim());
Src=Src.SubString(Src.Pos(Delimiter)+Delimiter.Length(),Src.Length()).Trim();
}
if (Src!="")
Result.push_back(Src);
return Result;
}
|