• 북마크
  • 추가메뉴
어디로 앱에서 쉽고 간편하게!
애플 중고 거래 전문 플랫폼
오늘 하루 보지 않기
KMUG 케이머그

팁사용기

[팁] 문자열 함수-3 Replace 에 대해서..

본문

안녕하세요?
미쉐린 김성준입니다.
제가 이사하다가 손을 크게 다쳐서 글을 한동아 제대로 쓰지를 못했습니다.^^;;
이제 좀 괜찮아 져서 시작을 하도록 해야겠네요...^^;;
전에는 CountFields 함수에 대해서 알아봤습니다.
이번에는 Replace, ReaplcaeAll 함수에 대해서 알아보도록 하겠습니다.

Replace 와 ReplaceAll 함수는 함수명 그대로 바꾸어준다는 것입니다.
즉 긴문장에서 특정 단어를 다른 단어로 대체하거나 없앨 때 사용하는 것이죠.
보통 워드프로세서나 에디터들에서 사용하는 Replace 기능과 동일하다고 보면 됩니다.

그럼 Replace 와 ReplaceAll 함수의 문법을 보도록 하죠.

Result = Replace(원문장, 바꾸려는 단어, 대체할 단어)

즉 긴 문장에서 지정된 단어를 바꿀 때 사용하는 형식이죠.
그럼 예를 보도록 하겠습니다.


Replace("안녕하세요? KMUG 입니다.", "KMUG", "미쉐린")

자 위의 예를 보면 "안녕하세요? KMUG 입니다." 라는 문장이 있습니다. 이것이 원문장이 되구요.
바꾸려는 단어는 "KMUG" 가 되겠습니다. 그리고 "미쉐린" 대체할 단어가 되는 것이죠.
따라서 위의 결과는 "안녕하세요? 미쉐린 입니다." 가 될 것 입니다.
그럼 좀 더 제대로 코딩 답게 적어보도록 하겠습니다.

dim s as String

s = "안녕하세요? KMUG 입니다."

msgbox s

s = Replace(s, "KMUG", "미쉐린")

msgbox s

위의 문장을 리얼베이직에 넣고 실행을 하면 처음에는 "안녕하세요? KMUG 입니다." 라는 메세지가 뜰 것이구요.
OK 버튼을 누르면 다시 "안녕하세요? 미쉐린 입니다." 라는 문장이 나타날 것 입니다.
즉 처음의 문자형 변수 S 에 들어가 있어던 "안녕하세요? KMUG 입니다." 라는 문장에서 예제와 같이 "KMUG" 라는 문장이 "미쉐린"으로 바뀐 것을 확인할 수 있습니다.
그럼 Replace 와 ReplaceAll 함수의 차이는 무엇이 까요? Replace 함수는 한번만 바꿔치기를 하는 것이고 ReplaceAll 은 긴 문장내에 있는 모든 문장을 바꿔치기 하는 것을 말합니다. 그럼 ReplaceAll 의 예제를 보도록 하겠습니다.

Replace("안녕, 방가방가, 안녕안녕 반가워요", "안녕", "하이")

ReplaceAll("안녕, 방가방가, 안녕안녕 반가워요", "안녕", "하이")

자 위의 두가지 예를 보면 "안녕, 방가방가, 안녕안녕 반가워요" 라는 문장에서 "안녕"이라는 단어를 "하이"로 바꾸어 주는 것인데요. 첫번째 예제인 Replace 에서는 결과는 "하이, 방가방가, 안녕안녕 반가워요" 가 될 것이고 두번째 예제인 ReplaceAll 함수에서는 "하이, 방가방가, 하이하이 반가워요" 가 될 것 입니다.
즉 Replace 는 한번만 바꿔치기를 하기 때문에 문장의 첫번째에 있는 "안녕" 부분만 "하이"로 바뀌고 뒤에있는 "안녕안녕"은 바뀌지 않게 됩니다. 하지만 ReplaceAll 함수에서는 "안녕"이라는 단어가 모두 "하이"로 바뀌는 것을 확인할 수 있습니다.
위의 예를 제대로된 코드로 바꾸어 보도록 하겠습니다.

dim s as String

s = "안녕, 방가방가, 안녕안녕 반가워요"

msgbox Replace(s, "안녕", "하이")
msgbox ReplaceAll(s, "안녕", "하이")

보면 쉽게 알 수 있는 아주 간단한 코드입니다. 위의 코드를 리얼베이직에서 작성을 해서 실행해보면 설명드린 것과 같은 결과를 바로 확인할 수 있을 것입니다.

Replace 나 ReplaceAll 함수는 위와 같은 바꿔치기 기능을 문장을 다루는 여러가지 부분에서 제대로 역할을 해주고 자주사용하게 됩니다. 주로 데이타의 파싱이나 수정등에서도 사용이 되며 사용하기도 쉽고 동작도 빠릅니다.
흠...그러면 마지막으로 예제를 하나만 더 해보도록 하겠습니다. 긴 문장(?)에서 해당 단어를 없애주는 예제를 해보도록 하겠습니다. 방식은 똑같고 다음과 같이 해주면 됩니다.

dim s as String

s = "뉴스 | 커뮤니티 | 맥Q&A | 자료실 | 포토 | 놀이터 | 교육 | 맥하드"

s = ReplaceAll(s, "|", "")

msgbox s

위의 예제는 KMUG 홈페이지의 의 메인메뉴부분을 가져온 것 입니다.
위에서 "|" 이라는 특수문자를 없애기 위해서는 "" 이렇게 하면 됩니다. 즉 따옴표 안에 아무 내용도 넣지 않고 해주면 해당되는 내용은 사라진다는 것이죠. 어때요 간단하죠?
뭐 이런식으로 많이 사용하니 반드시 알아두시구요. 사용법이나 기능이 쉽기 때문에 쉽게 기억할 수 있을 것 입니다.
그럼 좋은 하루 되시구요. 다음에는 문장에 관한 다른 함수를 해보도록 하겠습니다.
그럼 이만..휘릭~!

PS. 오타, 오류, 질문에 대해서는 게시판에 여지없이 리플 달아주세요.
그럼 이만.휘릭~!

from michelin
0 0
로그인 후 추천 또는 비추천하실 수 있습니다.
포인트 5,044
가입일 :
2004-01-25 23:38:19
서명 :
미입력
자기소개 :
미입력

최신글이 없습니다.

최신글이 없습니다.

댓글목록 1

권혜영`님의 댓글

전체 48 건 - 1 페이지