문자열을 다루는데 있어서 가끔은 이렇게 우리가 그 문자열의 어느 일정 부분을 없애버리고 싶을때가 상당히 많습니다.

예를 들어서 "대한민국만세" 라는 스트링이 있다면 이중에서 앞부분을 제거하여 "민국만세"라구 출력하고 싶거나 그냥 "대한민국" 부분만 얻어내고 싶다면 아래와 같은 방법으로 간단하게 구현됩니다.

소스를 봅시다.

<%
strText = "abcdefg"
Response.write Left(strText,2) &"<br>"
Response.write Right(strText,2)
%>


위의 소스를 저장하여 확인하면 다음과 같습니다.

ab
fg


Left(strText,2) - strText는 변수죠? 그 안의 내용중에 Left(왼쪽)에서 2번째까지의 스트링만 리턴시킵니다.

Ringht(strText,2) - 이건 오른쪽부터 2개 리턴시키겠죠?

그럼 왼쪽과 오른쪽으로 그 기준점을 잡아서 몇번째까지 리턴시킬까만 생각하면 문자열 중에서 내가 원하는 부분만 출력할 수 있습니다.



문자열중에서 가운데 어느 한부분만 뽑아내고 싶다면...이때는 Mid 라는 함수를 이용해서 구현합니다.

Mid 함수는 Left, Right 와는 다르게 하나의 인자를 더 가지고 있습니다. 이것 역시 예제를 보면 금방 이해가 됩니다.

<%
strText = "abcdefg"
Response.write Mid(strText,2,3)
%>


위의 소스를 저장하여 확인하면 다음과 같습니다.

bcd


Mid(strText,2,3) 에서 첫번재 인자 strText를 내가 원하는 문자열이 있는 변수를 지정합니다. 그리고 두번째 인자 2는 왼쪽에서 두번째를 기준으로 합니다. 그리고 세번째 3은 기준으로 부터 왼쪽방향으로 3개까지의 값을 리턴시킨다는 겁니다.

쉽죠? 원하는 문자열에서 기준을 정하고 그 기준으로 부터 몇번째까지의 순서를 지정하면 그에 해당하는 부분만 리턴된다는 사실...^^



이번에는 조금 색다른 걸 해봅시다. 특정문자열에서 내가 원하는 문자열은 어디에서 부터 시작하는가? 예를 들어서

abcdefg 라는 문자열에서 bcd 라는 문자열의 시작은 어디인가? 하는 문제..

해결답안은 아래와 같습니다.

<%
strText = "abcdefg"
intWhere = InStr(strText,"bcd")
Response.write intWhere
%>


결과는 2 가 나옵니다. InStr(strText,"bcd") 에서 첫번째 인자 strText 는 변수니깐 그 안의 내용중에 두번째 인자 "bcd"는 어디에서 시작하는지를 찾아서 몇번째에서 시작되는지를 리턴시킵니다.