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
[14359] 게으른 저는 그냥 STL로 씁니다.
김백일 [cedar] 1069 읽음    2002-01-10 20:45
심심 님이 쓰신 글 :
: 안녕하세요...
: AnsiString 형으로 선언된 변수가 가지는 문자중 특정 문자를 다른 문자로 치환하려면 어떻게 하면 간단하게 처리할수 있을까요.... 답변 미리 감사드리고요... 즐거운 하루 되세요

지나가는 사람님 답변처럼 맨땅에 삽질하는 것도 좋겠지만,
"어떻게 하면 간단하게 처리할 수 있을까요?"에 대한 답이니까
간단한 방법을 알려드리죠.

지나가는 사람님의 코드만으로는
치환할 문자가 없거나 2개 이상일 때는 변환할 수 없습니다.
이럴때 저는 보통 STL의 replace 알고리듬을 씁니다.
AnsiString의 c_str()을 써서 char*를 타입으로 변환한 후
STL string으로 변환합니다.
이 string에 replace() 알고리듬을 적용하여 치환한 후
다시 AnsiString으로 변환하면 됩니다.

다음은
Edit1에 있는 텍스트에 있는 모든 'R'을 'S'로 변환하는 예제입니다.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    string s(Edit1->Text.c_str());   
    replace(s.begin(), s.end(), 'R', 'S');
    Edit1->Text = s.c_str();   
}
//---------------------------------------------------------------------------



+ -

관련 글 리스트
14344 AnsiString형의 한문자를 다른문자로..... 심심 915 2002/01/10
14360     Re:StringReplace를 사용하세요.. 홍성진.지니 1170 2002/01/10
14359     게으른 저는 그냥 STL로 씁니다. 김백일 1069 2002/01/10
14347     Re:AnsiString형의 한문자를 다른문자로..... 지나가는 사람 966 2002/01/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.