ASP, Javascript
한글이 포함된 문자열 자르기 예제 소스
프로그래밍을 하다보면 보면 너무긴 문자열을 잘라야 할 경우가 생긴다...
뭐 영문자라면 별 문제가 되지 않지만, 한글 같은 2바이트 문자열이 포함 되버리면 내장 함수로 쉽게 자를수 없을때가 있다...
이럴 때 사용하면 괜찮은 함수를 만들어봤다..
작동 원리는 문자열 전체를 하나 하나 분리해서 해당 문자가 1바이트 문자인지, 2바이트 문자인지 비교하여 원하는 길이만큼 잘라 준다.
ASP 소스 함수 예제
Function Str_Cut(istr, size)
tstr = ""
cnt = 0
rtn = istr
For x = 1 To Len(istr)
tstr = Mid(istr, x, 1)
If Asc(tstr) < 0 Then
cnt = cnt + 1
End If
cnt = cnt + 1
If size <= cnt Then
rtn = Mid(istr, 1, x)
x = 100000
End If
Next
Str_Cut = rtn
End Function
ASP 언어에서는 한글이 마이너스로 표시가 되어 if 문에 0보다 작은 수인 경우로 처리 했다.
같은 원리로 자바스크립트 함수 예제
function Str_Cut(istr, size) {
var tmp = 0, cnt = 0;
var rtn = "";
for (var x = 0; x < istr.length; x++) {
tmp = istr[x].charCodeAt();
if (127 < tmp) {
cnt++;
}
cnt++;
if (size <= cnt)
{
rtn = istr.substring(0, x);
x = 100000;
}
}
return rtn;
}
자바스크립트에서는 2바이트 확인을 127보다 큰 수를 분리 작업을 한다.
한글 처리 관련 내용
https://blog.naver.com/spprince/222022741472
본 블로그의 글은 공공정보와 개인적 생각의 글 임을 알려드립니다.
또한 오류가 있는 부분이 있으면 댓글로 알려주시기 바랍니다.
감사합니다.
'교육' 카테고리의 다른 글
[과학기술정보통신부] 국립중앙과학관, ’21년 인공지능 탐구프로그램 운영 (0) | 2021.01.25 |
---|---|
[활용팁] 자바스크립트 평일(월~금) 날짜 계산 (0) | 2021.01.24 |
[교육부] 학부모의 부담 경감을 위해 2021학년도 유아학비와 보육료 지원 확대 (0) | 2020.12.28 |
[교육부] 한국교육방송공사(EBS) 고교 무상 교재 꼭 신청하세요! (0) | 2020.12.20 |
[과학기술정보통신부] 과기정통부-통계청, 국가기술자격 ‘빅데이터 분석기사’ 첫 시행 (0) | 2020.11.24 |
댓글