[공백 제거]
-
Ltrim(string) : 해당 필드의 왼쪽 공백 제거
-
Rtrim(string) : 해당 필드의 오른쪽 공백 제거
-
Trim(string) : 해당 필드의 좌우 공백 제거
* 스트링에 값이 null이면 null이 리턴
[문자열 추출]
-
Mid(string,start[,length]) : 해당 필드의 start 부터 length
만큼 추출
길이를 안 넣을 경우 start부터 끝까지 추출
-
Left(string,length) : 문자열의 왼쪽부터 시작하여 length만큼 추출
-
Right(string,length) : 문자열의 오른쪽부터 시작하여 length만큼 추출
* string 문자 수를 확인하려면
Len 함수를 사용.
* 값이 0이면 빈 문자열("") 리턴, string의 문자수보다 length가 크면 전체 문자열이 리턴.
* 길이를 바이트수로 체크하려면 VBA에서 midb,leftb,rightb 참고??
[문자열 비교]
-
InStr([start,]string1,string2[,compare])
: string2가 string1 내에서 처음으로 나타나는 위치를 반환
start는 검색 시작 위치를 설정
campare은 비교유형을 결정(0은 이진비교이며 디폴트임, 1은 텍스트비교)
* left 함수와 함께 이용하여 특정 문자가 나타나기 이전의 내용을 뽑아낼수 있음
Left([타이틀],(InStr(1,[타이틀],"(")-1)) : 타이틀에 (가 나오기 전까지 왼쪽 추출함
-
InStrRev(stringcheck,stringmatch[,start][,compare])
: stringmatch가 stringcheck문자열에 나타나는 것을 끝에서부터 검색
* right함수와 함께 내용추출 가능
Right(
[타이틀],
Len([타이틀])-InStrRev([타이틀],"(")+1)
: 타이틀에 괄호(가 나오는 부분부터 끝까지 추출함
- StrComp(string1, string2[,compare])
: 문자열 두개를 비교하여 같으면 0을 리턴
string1이 string2이 작은경우 -1, 큰 경우 1을 리턴
이진비교(디폴트)는 compare에 0, 텍스트 비교는 1
[문자열 변환]
- Lcase(string) : string 내의 대문자를 소문자로 변환
- Ucase(string) : string 내의 소문자를 대문자로 변환
- StrReverse(string) : 문자열순서를 역으로 바꾼 문자열로 반환
길이가 0인 문자열("")은 0 길이의 문자열이 반환
문자열에 null이 있으면 오류가 발생
가끔 함수를 모를때 모 개발자분의 도움을 받아 공부하고 있는데..
데이터가 짜잔 만들어 지면 너무 재밌다.ㅋ 내 몸속에 개발자의 피가? ㅋㅋ
예를 들면 111+5 가 입력일 경우
dim a
dim intA, intB
dim strInput as string
strInput = txtInput.text '<= textbox 의 내용( 111+5 ).
a = instr(strinput, "+") '<= 문자중 "+"가 나오는 자리수가 입력됨.( 4 )
intA = left#(strinput,a-1) '<= intA에 "111" 이 들어감...
.....이하 생략..
intB 는 strInput의 전체 길이를 구한 다음, mid 함수나 right 함수를 사용해서
구할 수 있겠죠...
----------------------------------------------------------------------------------------
InStr 함수:
한 문자열 안에 특정 문자열이 처음으로 발생한 위치를 Variant(Long)값으로 반환합니다.
구문:
InStr([start, ]string1, string2[, compare])
InStr 함수 구문은 다음과 같은 인수로 되어 있습니다.
구성 요소 / 설명
start / 선택. 검색 시 시작 위치를 의미하는 숫자 식임. 지정되지 않으면 첫 문자에서 검색이 시작. start 가 Null값을
포함하면 오류가 발생. Compare 값이 지정되면 start 인수는 필수가 됨.
String1 / 필수. 검색되는 문자열 식.
String2 / 필수. 찾고자 하는 문자열 식.
Compare / 선택. 문자열 비교 형식을 지정함. Compare 인수는 0, 1, 2 또는 지정을 안 해도 됨. 0(기본값)으로
지정되면이진 비교가 시행됨. 1로 지정되면 문자 비교(대/소문자 구분)가 시행됨. 2 로 지정되면 사용자 데이터베이스에 포함된 정보에
근거한 비교가 이루어짐(Microsoft Access에 한함). Compare 값이 Null일 경우 오류가 발생함. Compare
값이 지정되지 않을 경우, Option Compare 설정 값이 행해지는 비교 유형을 결정함.
반환값:
조건 / InStr 반환값
string1 길이는 0 / 0
string1이 Null / Null
string2 길이가 0 / start
string2가 Null / Null
string2가 발견되지 않음 / 0
string2가 string1 내에서 발견 / 일치된 지점의 위치
start > string2 / 0
참고:
InStrB 함수는 문자열 내에 포함된 바이트 정보에 이용됩니다. InStrB 함수는 한 문자열 내의 특정 문자열의 첫 발생 문자
지점을 반환하지 않고 바이트 위치를 반환합니다.
InStr 함수 예제:
다음은 InStr 함수를 사용하여 주어진 문자열 내에서 사용자가 지정된 문자열이 최초로 나타나는 지점을 찾아내는 예제입니다.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 찾을 문자열.
SearchChar = "P" ' "P" 찾기.
MyPos = Instr(4, SearchString, SearchChar, 1) ' 4 위치에서 텍스트 비교 시작. 6을 반환합니다.
MyPos = Instr(1, SearchString, SearchChar, 0) ' 1 위치에서 이진 비교 시작. 9를 반환합니다.
' 비교는 기본값으로 이진법(마지막 인수는 생략).
MyPos = Instr(SearchString, SearchChar) ' 9를 반환합니다.
MyPos = Instr(1, SearchString, "W") ' 0을 반환합니다.
출처 : MSDN 도움말 참조
strstr() 함수와 동일한 기능을 가진 함수가 있습니다.
InStr() 함수 입니다.
해당 문자열속에 지정된 문자열이 있는지 없는 지를 확인해서 결과를 돌려주는 함수죠!
MSDN에 있는 설명 그대로 올립니다.
InStr
함수
한 문자열 안에 특정 문자열이 처음으로 나타난 위치를 Variant(Long)값으로
반환합니다.
구문
InStr([start, ]string1, string2[,
compare])
InStr 함수 구문은 다음과 같은
인수로 되어 있습니다.
| 구성 요소 |
설명 |
| start |
선택. 검색할 때 시작 위치를 의미하는
수식입니다. 지정되지 않으면 첫 문자에서 검색을 시작합니다. start가
Null값을 포함하면 오류가 발생하고 Compare 값이 지정되면
start 인수는 필수 인수입니다. |
| String1 |
필수. 검색되는
문자식 |
| String2 |
필수. 찾을 문자식 |
| Compare |
선택.
문자열 비교 형식을 지정합니다. Compare 인수는 0, 1, 2로 지정하거나
생략할 수 있습니다. 기본값인 0으로
지정하면 이진 비교가 수행되고 1로 지정하면 대/소문자 구분하여 문자를 비교합니다. 2로
지정하면 사용자 데이터베이스에 기록된 정보에 근거하여 비교가 수행됩니다(Microsoft Access에 한함).
Compare 값이 Null이면 오류가 발생하고 Compare
값이 지정되지 않으면 Option Compare 설정값에 따라 비교 형식이 결정됩니다. |
설정
compare 인수는 다음과 같이 설정됩니다.
| 상수 |
값 |
설명 |
| vbUseCompareOption |
-1 |
Option Compare 문 설정을 사용하여 비교합니다. |
| vbBinaryCompare |
0 |
이진 비교를 수행합니다. |
| vbTextCompare |
1 |
텍스트를 비교합니다. |
| vbDatabaseCompare |
2 |
Microsoft Access에만 해당. 데이터베이스의 정보를 근거로 하여 비교합니다. |
반환값
| 조건 |
InStr 반환값 |
| string1이 길이는 0일 경우 |
0 |
| string1이 Null일 경우 |
Null |
| string2가 길이가 0일 경우 |
start |
| string2가 Null일 경우 |
Null |
| string2가 발견되지 않은 경우 |
0 |
| string2가 string1에서
발견되는 경우 |
일치된 지점의 위치 |
| start > string2 |
0 |
참고
InStrB 함수는 문자열 내에 포함된 바이트 정보에 이용됩니다. InStrB 함수는 한 문자열
내의 특정 문자열의 첫 발생 문자 지점을 반환하지 않고 바이트 위치를 반환합니다.
InStr
함수 예제
다음은 InStr 함수를 사용하여 주어진 문자열 내에서 사용자가 지정된 문자열이 최초로 나타나는 지점을
찾아내는 예제입니다.
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 찾을 문자열
SearchChar = "P" ' "P" 찾습니다.
' 4 위치에서 텍스트 비교를 시작합니다. 6을 반환합니다.
MyPos = Instr(4, SearchString, SearchChar, 1)
' 1 위치에서 이진 비교를 시작합니다. 9를 반환합니다.
MyPos = Instr(1, SearchString, SearchChar, 0)
' 비교는 기본값으로 이진법(마지막 인수 생략)
MyPos = Instr(SearchString, SearchChar) ' 9를 반환합니다.
MyPos = Instr(1, SearchString, "W") ' 0을 반환합니다.
===================================================================
InStrRev
함수
설명
다른 문자열 내에서 한 문자열의 발생 위치를 문자열 끝에서부터 계산하여 반환합니다.
구문
InstrRev(string1, string2[,
start[, compare]])
InstrRev 함수 구문은 다음과 같은 구성 요소로 되어 있습니다.
| 구성 요소 |
설명 |
| string1 |
필수. 탐색할
문자식 |
| string2 |
필수. 탐색할 문자식 |
| start |
선택. 각 탐색의 시작 위치를 설정하는
수식. 이를 생략하면 –1을 사용합니다. 이것은 최종 문자 위치에서 탐색이 시작됨을 의미합니다.
Null 이면 오류가 발생합니다.
|
| compare |
선택적. 하위 문자열을 평가할 때 사용할 비교의 종류를 나타내는 숫자값. |
설정
compare 인수의 값은 다음과 같습니다.
| 상수 |
값 |
설명 |
| vbUseCompareOption |
–1 |
Option Compare문의 설정을 사용하여 비교를 수행합니다. |
| vbBinaryCompare |
0 |
이진 비교를 수행합니다. |
| vbTextCompare |
1 |
텍스트 비교를 수행합니다. |
| vbDatabaseCompare |
2 |
Microsoft Access 전용. 데이터베이스의 정보를 기반으로 비교를 수행합니다. |
반환값
InStrRev는 다음 값을 반환합니다.:
| 다음의 경우 |
InStrRev가 반환하는 값 |
| string1의 길이가 0일 경우 |
0 |
| string1이 Null일 경우 |
Null |
| string2의 길이가 0일 경우 |
Start |
| string2가 Null일 경우 |
Null |
| string2가 없을 경우 |
0 |
| string2가 string1
내에 있을 경우 |
일치되는 사항이 발견되는 위치 |
| start > Len(string2) |
0 |
참고
InstrRev 함수의 구문은 Instr 함수의 구문과 같지 않습니다