본문 바로가기
Program

문자열 자르기 베스트 3 입니다

본문

ASP를 사용하시는 분들이면 언제나 문자열에 부딪치게 되죠 ㅎㅎ

그런데 웹엔 왠지 내용이 별로 인것 같아서

(저만의 베스트^^;;)깔꼼 한거 올립니다^^


써보시면 아실꺼라 생각하고 주석처리는 안하구


긴 것 부터 나열 하겠습니다^---^



'간단한 한글 문자열 자르기

subject = "아1'아'아'아'아아아아아아아아아아아아"

MaxLen = 10

IF Len(subject) > MaxLen Then

    sumByte = 1

    title_one = ""

    result = ""

    a = 1

    Do Until sumByte > MaxLen

        title_one = MID(subject, a, 1)

        If 0 =< Asc(title_one) Then

            sumByte = sumByte + 1

        Else

            sumByte = sumByte + 2

        End IF

        If sumByte > MaxLen Then

            result = result &"..."

        Else

            result = result + title_one

        End IF

    a = a + 1

    Loop

    subject = Replace(result, "''", "'")

    subject = Replace(subject, "<", "&lt;")

    subject = Replace(subject, ">", "&gt;")

Else

    subject = Replace(subject, "''", "'")

    subject = Replace(subject, "<", "&lt;")

    subject = Replace(subject, ">", "&gt;")

End IF

Response.write subject

Response.end





'깔끔 펑션 버전

Function StringCut(strtxt, MaxLen)

    Dim i, strLen, VarResult, Intcount, nVal

    strLen = Len(Trim(strtxt))

    If strtxt = "" Then

        VarResult = ""

    Else

        For i = 1 To strLen

            If i = 1 Then

                nVal = Asc(Left(Trim(strtxt), 1))

            Else

                nVal = Asc(Mid(Trim(strtxt), i, 1))

            End If

            If 0 =< nVal Then

                Intcount = Intcount + 2

            Else

                Intcount = Intcount + 1

            End If

            If MaxLen < Intcount Then

                VarResult = VarResult + "..."

                Exit For

            End If

        VarResult = VarResult + Mid(Trim(strtxt), i, 1)

        Next

    End If

    VarResult = Replace(VarResult, "''", "'")

    VarResult = Replace(VarResult, "<", "&lt;")

    VarResult = Replace(VarResult, ">", "&gt;")

    StringCut = VarResult

End Function





'완전 간단 버전

Function KoreanStringCut(strString)

    Dim intPos, strChar, intLen

    intLen = 0

    ' 한문자씩 비교한다.

    For intPos = 1 To Len( strString )

        strChar = Mid( strString, intPos, 1)

        ' 한글일 경우

        If Asc( strChar ) < 0 Then

            intLen = intLen + 2

        Else

            intLen = intLen + 1

        End If

    Next

    KoreanStringCut = intLen

End Function

[이 게시물은 듀라님에 의해 2015-04-03 10:08:13 워드프레스에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:27:24 Public에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:33:53 팁과강좌에서 이동 됨]
[이 게시물은 최고관리자님에 의해 2017-06-10 14:24:30 ASP에서 이동 됨]
0 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

l2j (121.♡.101.20) 작성일07-05-02 15:22 조회1,383회 댓글0건

댓글목록

등록된 댓글이 없습니다.

Program 목록

게시물 검색

사이트 정보

  • 회사명 회사명 / 대표 대표자명
  • 주소 OO도 OO시 OO구 OO동 123-45
  • 사업자 등록번호 123-45-67890
  • 전화 02-123-4567 / 팩스 02-123-4568
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

  • 02-1234-5678
  • abc@abc.com
  • 월-금 am 11:00 - pm 05:00
  • 점심시간 : am 12:00 - pm 01:00
  • 주말&공휴일은 1:1문의하기를 이용하세요.
상단으로