세진세상

VBA 문자열 함수 #3(Left, Right, Mid, LTrim, RTrim, Trim) 본문

VBA

VBA 문자열 함수 #3(Left, Right, Mid, LTrim, RTrim, Trim)

세진세상 2018. 2. 23. 17:48

VBA 문자열 함수 #3


VBA의 문자열 함수 중에서 '추출'과 관련된 함수를 알아보겠다.

문자열을 추출한다는 뜻이 광범위하지만, 아주 기본적인 추출을 학습하겠다.

문자열에서 필요한 단어 부분을, 불필요한 공백을 제거한 문자열을 추출하는 함수를 학습하겠다.



문자열 추출.

Left(문자열, 추출 문자수)

문자열의 왼쪽부터 지정한 추출 문자수만큼을 추출한다.

Right(문자열, 추출 문자수)

문자열의 오른쪽부터 지정한 추출 문자수만큼 추출한다.

Mid(문자열, 시작 위치, 추출 문자수)

문자열의 지정한 시작 위치에서 왼쪽부터 지정한 추출 문자수만큼 추출한다.

단, 문자열의 첫 위치는 1번이다.


함수 이름과 용도가 직관적이고, 유의할 점이 크게 없다.

바로 실습에 들어가자.


'우주겁쟁이'의 노래 '후유증'의 후렴구 'Oh Goodbye, Long Goodbye' 에서

Oh, Long, Goodbye를 세 함수를 활용해 추출해보자.


1
2
3
4
5
6
7
8
9
10
Sub Left_Right_Mid()
    Dim str As String
    
    str = "Oh Goodbye, Long Goodbye"
    
    Debug.Print Left(str, 2)
    Debug.Print Right(str, 7)
    Debug.Print Mid(str, 134)
    
End Sub
cs


사용에 전혀 어려움이 없다. 있으면 안돼...



공백 제거.

LTrim(문자열)

문자열의 왼쪽 공백을 제거한다.

RTrim(문자열)

문자열의 오른쪽 공백을 제거한다.

Trim(문자열)

문자열의 오른쪽, 공백을 제거한다. 문자열 사이의 공백은 제거하지 않는다.


마찬가지로 어려울 것이 없으므로, 바로 실습해보자.


'Oh Goodbye, Long Goodbye'에 3개의 왼쪽 공백, 2개의 오른쪽 공백을 주었다.

각 공백을 제거하여 문자열을 추출하고, 추출된 문자열의 길이를 출력하자.


1
2
3
4
5
6
7
8
9
10
Sub LTrim_RTrim_Trim()
    Dim str As String
    
    str = "   Oh Goodbye, Long Goodbye  "
    
    Debug.Print "[길이 :"; Len(LTrim(str)); "] "; LTrim(str)
    Debug.Print "[길이 :"; Len(RTrim(str)); "] "; RTrim(str)
    Debug.Print "[길이 :"; Len(Trim(str)); "] "; Trim(str)
    
End Sub
cs


문자열의 길이를 출력하는 이유는, 문자열만 추출하면 공백이 제거되었는지 확인하기 어려울 수 있다.

그래서 왼쪽, 오른쪽 공백의 개수도 다르게 설정하였다.


LTrim 과 Trim의 결과가 같아 보이지만, LTrim의 결과에는 오른쪽 공백이 남아있다.

확실한 차이를 확인하려면, 길이를 출력해보는 것이 좋은 방법이다.



지금까지 문자열 추출과 공백 제거에 사용되는 기초적인 함수를 알아보았다.

문자열 함수는 다양하지만 다 알아보기에는 무리가 있다.

유용한 함수를 조금만 더 알아본 다음에 문자열 함수 학습을 마치도록 하겠다.

Comments