>  기사  >  웹 프론트엔드  >  string_basic 지식 자르기를 위한 Trim()의 사용자 정의 및 개선된 버전

string_basic 지식 자르기를 위한 Trim()의 사용자 정의 및 개선된 버전

WBOY
WBOY원래의
2016-05-16 17:37:401054검색

ECMAScript5는 문자열에 대한 기본 트림 방법을 정의했습니다. 이 방법은 아마도 이 문서의 어떤 버전보다 빠를 것입니다. 지원되는 브라우저에서 기본 기능을 사용하는 것이 좋습니다. 다음은 Custom Trim() 함수에서 발생하는 문제점과 개선 과정을 설명합니다. 쿵푸는 끊임없는 단련을 통해서만 완성될 수 있습니다.

JavaScript에는 문자열에서 앞뒤 공백을 제거하기 위한 기본 트리밍 방법이 없습니다. 가장 일반적인 사용자 정의 Trim() 함수 구현은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

function Trim(text) {

text.replace(/^s |s $/g, '');

}

이 구현에서는 정규식을 사용하여 문자열의 시작과 끝에서 하나 이상의 공백 문자를 일치시킵니다. replacement() 메서드는 일치하는 모든 부분을 빈 문자열로 바꿉니다.

그러나 이 구현에는 정규식을 기반으로 한 성능 문제가 있습니다. 이러한 영향은 두 가지 일치 패턴으로 파이프라인 연산자를 지정하는 한편, g를 지정하여 다음과 같은 두 가지 측면에서 발생합니다. 패턴을 전체적으로 표시합니다.

이를 염두에 두고 정규식을 둘로 나누고 g 태그를 제거하여 함수를 다시 작성하면 속도가 약간 빨라집니다.

코드 복사 코드는 다음과 같습니다.

function Trim(text) {

return text.replace(/^s /, '').replace(/s $/, '');

}

또 다른 개선된 버전입니다. 정규식을 최대한 단순하게 유지하세요.

코드 복사 코드는 다음과 같습니다.

function Trim(text) {

//문자열 앞 공백 삭제

text = text.replace(/^s /, '');

//후행 공백을 지우는 루프

for(var i=text.length; i--; ) {

if(/S/.test(text.charAt(i))) { // 공백이 아닌 S 문자

텍스트 = text.substring(0, i 1);

휴식;

}

}

텍스트 반환;

}

사용 제안: 소규모로 짧은 문자열을 처리할 때 두 번째 Trim() 함수의 성능은 여전히 ​​좋습니다. 세 번째 다듬기 기능은 긴 문자열을 처리할 때 훨씬 더 빠릅니다.

주제 외: 문자열의 앞뒤 공백 문자를 잘라내는 간단한 함수로 인해 정규 표현식의 성능 문제를 고려하고 성능 문제를 방지하기 위한 메서드 구현이 이루어졌습니다. 기술은 완벽함을 추구하며 실제로만 발전할 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.