C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[71029] Re:스트링 파싱작업 질문좀 할게요
빌더초보 [] 3351 읽음    2014-03-14 13:19
스트링파싱 님이 쓰신 글 :
: "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;
}

+ -

관련 글 리스트
71024 스트링 파싱작업 질문좀 할게요 스트링파싱 2831 2014/03/14
71029     Re:스트링 파싱작업 질문좀 할게요 빌더초보 3351 2014/03/14
71030         Re:Re:스트링 파싱작업 질문좀 할게요 스트링파싱 3147 2014/03/14
71025     Re:스트링 파싱작업 질문좀 할게요 장성호 3059 2014/03/14
71026         Re:Re:스트링 파싱작업 질문좀 할게요 스트링파싱 2907 2014/03/14
71027             Re:Re:Re:스트링 파싱작업 질문좀 할게요 장성호 3237 2014/03/14
71028                 Re:Re:Re:Re:스트링 파싱작업 질문좀 할게요 스트링파싱 3195 2014/03/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.