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
[65808] Re:= 문자열 자르기에서 빈공간 처리 하는 방법
정성훈.해미 [sage5nor] 2628 읽음    2011-12-28 11:27
간단하게 비어 있는 문자열을 "0"으로 바꾸면 됩니다.

	TStringList *StrLst = new TStringList();

	// 구분자를 ','로 설정한다.
	StrLst->Delimiter = ',';
	// 설정한 구분자로 나누어서 받을 문자열을 넣는다.
	StrLst->DelimitedText = buffer;

	// 구분자가 콤마(',')인 경우 위 2줄 코딩을 빼고 아래처럼 간단하게 1줄 코딩으로 써도 됩니다.
	// StrLst->CommaText = buffer;

	// 변환된 문자열 개수만큼 반복하여
	for(int i=0; iCount; i++)
	{
		// 문자열에서 공백을 제거한 것이 ""이면 "0"으로 바꾼다.
		if(StrLst->Strings[i].Trim() == "")	StrLst->Strings[i] = "0";
	}

	// 변환된 문자열 리스트를 메모장에 복사한다.
	Memo1->Text = StrLst->Text;

	delete StrLst;


아자! 님이 쓰신 글 :
: TStringList *nn = new TStringList();
:
:     ExtractStrings(TSysCharSet()<<',', TSysCharSet(), buffer.c_str(), nn)
:
:     for (int i=0; i<nn->Count; i++)
:     {
:         Memo1->SelText =   nn->Strings[i]+ "\r\n";
:     }
:
: 이렇게 해서 문자열을 잘랐습니다.
: 하지만 이때 buffer에 들어오는 문자는
:
: 1.    buffer = "&test,1,,,,,,5,,,,5,,6,7"
: 2.    buffer = "&test,1,111,222,333,444,,5,,,,5,,6,7"
: 3.    buffer = "&test,2,44,55,,,,5,,,,5,,6,7"
:
: 이런식으로 다양하게 바뀌어서 들어옵니다.
: 그래서 ,로 구분하여 문자를 자르긴 하지만 데이타가 없으면 그냥 0으로 들어가면 되는데..
: 즉,
: 1번을 자르면  buffer = "&test,1,,,5,,5,,6,7"
: test
: 1
: 0- 데이타 없는 부분
: 0- 데이타 없는 부분
: 5
: 0 - 데이타 없는 부분
: 5
: 0 - 데이타 없는 부분
: 6
: 7
:
: 이렇게 나와야하는데 위와 같이 함수를 쓰면
: test
: 1
: 5
: 5
: 6
: 7
: 이렇게 나옵니다.
: 이 부분을 처리할 방법아시는분 부탁드립니다.ㅠㅠ

+ -

관련 글 리스트
65807 = 문자열 자르기에서 빈공간 처리 하는 방법 아자! 1429 2011/12/28
65808     Re:= 문자열 자르기에서 빈공간 처리 하는 방법 정성훈.해미 2628 2011/12/28
65809         Re:Re:= 문자열 자르기에서 빈공간 처리 하는 방법 아자! 1274 2011/12/28
65810             Re:Re:Re:= 문자열 자르기에서 빈공간 처리 하는 방법 정성훈.해미 1654 2011/12/28
65811                 Re:Re:Re:Re:= 문자열 자르기에서 빈공간 처리 하는 방법 - 볼랜드 4 에서 제공하지 않습니다.ㅠ 아자! 1472 2011/12/28
65812                     [답변] CommaText를 사용해 보세요. 정성훈.해미 2241 2011/12/28
65813                         Re:[답변] 감사합니다^^ 아자! 1303 2011/12/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.