본문 바로가기
웹프로그램

[ASP] 문자열 관련 함수

by 세이박스 2008. 10. 8.
반응형
ASP코드를 작성하다 보면 문자열을 다양한 방식으로 변환하거나 원하는 문자열을 뽑아낸다든지
 
하는 등의 작업들이 필요합니다. 다음 내용은 대표적인 문자열 관련 함수입니다.
 
UCASE, LCASE         => 문자열의 내용을 대문자, 소문자로 변환시켜준다.
LEN                         => 문자열의 길이를 반환한다.
LEFT, RIGHT, MID     => 문자열의 좌, 우, 중간에서 지정한 만큼의 문자열을 뽑아낸다.
INSTR, INSTRREV      => 해당되는 문자열의 좌측, 우측 위치를 반환한다.
LTRIM, RTRIM, TRIM => 문자열의 좌측, 우측, 전체의 공백을 제거한다.
REPLACE                 => 문자열의 내용중 일부를 다른 문자열로 변경한다.
SPLIT                       => 문자열에서 특정 문자열을 기준으로 나누어 배열로 저장한다.
 
 
1. UCASE, LCASE
- UCASE : 문자열의 내용을 모두 대문자로 변환시켜준다.
- LCASE : 문자열의 내용을 모두 소문자로 변환시켜준다.
- 표현법 : UCASE(변환대상문자열), LCASE(변환대상문자열)
<%
strTest = "I Love Kimo"
strUpper = UCASE(strTest)
strLower = LCASE(strTest)
 
Response.Write "원본글 : " & strTest & "<br>"
Response.Write "UCASE : " & strUpper & "<br>"
Response.Write "LCASE : " & strLower & "<br>"
%>
위 소스를 실행해 보면 다음과 같이 출력이 된다.
원본글 : I Love Kimo
UCASE : I LOVE KIMO
LCASE : i love kimo
 
2.  LEN
- 문자열의 길이를 반환합니다.
- 표현법 : Len(검색대상문자열)
<%
strTest1 = "I Love Kimo"
strTest2 = "안녕하세요"
 
intLength1 = LEN (strTest1)
intLength2 = LEN (strTest2)
 
Response.Write intLength1 & "<br>"
Response.Write intLength2
%>
결과를 보면 11과 5가 나옵니다. 영문과 한글모두 글자수 그대로 반환이 됨을 알 수 있습니다.
 
 
3.  LEFT, RIGHT, MID  
- LEFT 는 문자열에서 지정한 숫자만큼 왼쪽에서 부터 추출하여 반환합니다.
- RIGHT 는 문자열에서 지정한 숫자만큼 오른쪽에서 부터 추출하여 반환합니다.
- MID 함수는 문자열의 지정한 위치에서, 지정한 길이 만큼의 문자열을 반환합니다.
- 표현법 : LEFT(문자열,추출길이), RIGHT(문자열,추출길이), MID(문자열,시작위치,추출길이)
<%
strTest = "I Love Kimo"
strLeft = Left(strTest,5)
strRight = Right(strTest,4)
strMId = Mid(strTest,3,2)
 
Response.Write strTest & "<br>"
Response.Write strLeft & "<br>"
Response.Write strRight & "<br>"
Response.Write strMid & "<br>"
%>
위 소스의 결과는 아래와 같습니다. (공백도 한 글자로 인식)
I Love Kimo
I Lov
Kimo
Lo
 
4. INSTR, INSTRREV    
- INSTR은 해당되는 문자열이 좌측에서 몇번째에 존재한다는 위치를 반환합니다.
- INSTRREV은 해당되는 문자열이 우측에서 몇번째에 존재한다는 위치를 반환합니다.
- INSTR, INSTRREV 은 동일한 문자열이 있을경우 제일먼저 검색이 되는 위치입니다.
- 표현법 : Instr(검색대상,검색문자열),InstrRev(검색대상,검색문자열)
 
<%
strTest = "우리나라에서 제일 큰 강은 한강이다. 우리나라에서 제일 큰 산은 한라산이다"
strInstr = Instr(strTest,"나라")
strInstrRev = InstrRev(strTest,"나라")
 
Response.Write strInstr & "<br>" & strInstrRev
%>
결과를 보면 3 , 24 가 나옵니다. 검색할 문자열에서 "나라" 라는 문자열이 왼쪽에서 처음 검색되는 위치는 3이고 오른쪽에서 부터 검색하면 24가 됩니다.
 
 
5.  LTRIM, RTRIM, TRIM
- LTRIM : 문자열에서 왼쪽에 있는 공백을 제거한 결과를 반환.
- RTRIM : 문자열에서 오른쪽에 있는 공백을 제거한 결과를 반환.
- TRIM   : 문자열에서 양쪽에 있는 공백을 제거한 결과를 반환.
- 표현법 : LTRIM(문자열), RTRIM(문자열), TRIM(문자열)
<%
strTest = "   I Love You   "
strLTrim = LTrim(strTest)
strRTrim = RTrim(strTest)
strTrim = Trim(strTest)
 
Response.Write strTest & "<br>"
Response.Write strLtrim & "<br>"
Response.Write strRtrim & "<br>"
Response.Write strTrim & "<br>"
%>
위소스의 결과를 보면 브라우저에는 아래와 같이 결과가 동일해 보일겁니다.
I Love You
I Love You
I Love You
I Love You
그러나 소스보기를 해서 보면 어떤 차이가 있는지 금방 알 수 있습니다.
    I Love You     <br>I Love You     <br>    I Love You<br>I Love You<br>
원글은 양쪽으로 모두 3칸의 공백이 있고 LTRIM을 한 부분은 왼쪽공백이 제거 되어 있고
RTRIM을 한쪽은 오른쪽 공백이 TRIM을 한곳은 양쪽모두 공백이 제거 되었음을 알 수 있습니다.
 
6.  REPLACE
- 문자열 중에서 특정 내용을 다른 내용으로 바꾸려 할 때 REPLACE 함수를 사용합니다.
이 함수의 사용법은 다음과 같습니다.
- 표현법 : REPLACE(원본문자열,"변경대상문자열","변경할새로운문자열")
<%
strBefore = "I like you.. Do you like me?"
strAfter = REPLACE (strBefore, "like", "love")
Response.Write strBefore & "<br>"
Response.Write strAfter & "<br>"
%>
위 소스의 결과를 보면 위 문장에 있는 "like" 라는 단어가 "love"로 변경 된것을 알 수 있습니다.
이러한 REPLACE구문은 특히 게시판에서 글을 등록시킬때 많이 사용됩니다. (태그를사용하지 못하게 할 경우와 태그를 사용하게 하는 경우)
 
7. SPLIT
- 이 함수는 어떤 문자열에서 특정한 문자열 또는 기호를 기준으로 문자열을 분해한 다음,
분해된 문자열들을 배열에 저장하는 함수입니다.
- 표현법 : REPLACE(원본문자열,"분해기준")
<%
strTemp = "aaa, bbb, ccc, ddd, eee"
arrTemp = Split(strTemp,",")
 
Response.Write arrTemp(0) & "<br>"
Response.Write arrTemp(1) & "<br>"
Response.Write arrTemp(2) & "<br>"
Response.Write arrTemp(3) & "<br>"
Response.Write arrTemp(4) & "<br>"
%>
위 소스에서 strTemp에 저장된 데이터는 "," 를 기준으로 5개의 데이터가 있습니다.
Split 함수를 이용하여 "," 를 기준으로 기존 문자열을 분리하여 배열을 생성했습니다. Split 함수를
이용하면 자동으로 배열이 생깁니다.

반응형