>웹 프론트엔드 >JS 튜토리얼 >JavaScript_javascript 기술로 문자열을 가로채는 Slice, Substring, Substr 함수에 대한 자세한 설명 및 비교

JavaScript_javascript 기술로 문자열을 가로채는 Slice, Substring, Substr 함수에 대한 자세한 설명 및 비교

WBOY
WBOY원래의
2016-05-16 16:55:04895검색

JavaScript에서 하위 문자열 추출은 주로 Slice, Substring, Substr 세 가지 방법 중 하나를 통해 이루어집니다.

코드 복사 코드는 다음과 같습니다.
// Slice
// 구문: string. Slice(start [, stop])
"모두들 좋은 소식입니다!".slice(5,9)
// 'news'

// substring
// 구문: string.substring(indexA [, indexB])
"좋은 소식입니다, 여러분!".substring(5,9)
// 'news'

// substr
// 구문: string.substr(start [, length])
"좋은 소식입니다, 여러분!".substr(5,4)
// 'news'


세 가지 방법 중 시작 인덱스 매개변수와 선택적 끝 인덱스(또는 길이) 매개변수를 입력합니다.

그러나 몇 가지 중요한 차이점이 있습니다.
1. substr() 메서드는 지정된 위치에서 지정된 수의 문자를 추출합니다.
param: start는 문자 추출을 시작할 위치 인덱스이고, length는 추출된 문자의 개수와 길이입니다.
반환: 새 문자열. 시작부터 시작하는 길이의 문자입니다.
브라우저마다 성능이 일관되지 않습니다. 최신 브라우저에서는 문자열 끝부터 추출할 문자 수를 나타내기 위해 시작 인덱스 매개변수를 음수로 허용합니다. 그러나 IE8 이하 브라우저에서는 최소 시작 인덱스 매개변수가 0부터 계산됩니다. [ substr은 웹 브라우저용 추가 ECMAScript 기능입니다. 시작 인덱스가 음수 값인 경우에는 사용하지 않는 것이 좋습니다.]

코드 복사 코드는 다음과 같습니다.
var str = "abcdefghij";

console.log("(1): " str.substr(1)); // (1): bcdefghij
console.log("(1,2): " str.substr(1,2) )); // (1,2): bc

console.log("(-3): " str.substr(-3)); // (-3): hij
console.log("(-3,2): " str.substr (-3,2)); // (-3,2): 안녕

console.log("(20, 2): " str.substr(20,2)) // (20, 2):
console.log("(-20, 2): " str .substr(-20,2)); // (-20, 2): ab

// ie8 이하
console.log("(-3): " str.substr(-2)) // (-20, 2): hij
console.log("( -3, 2): " str.substr(-2)); // (-20, 2): ab


2.substring() 메서드는 문자열의 한 인덱스를 다른 인덱스로 추출하는 데 사용됩니다. 간격의 하위 집합 또는 문자열 끝까지.
param: indexA, indexB 두 매개변수의 값 범위는 0과 문자열 길이 사이의 정수입니다.
return: 작은 인덱스 위치의 문자를 포함하고 큰 인덱스 위치의 문자를 제외하고 작은 인덱스부터 큰 인덱스까지 새 문자열을 반환합니다.
하위 문자열의 매개변수는 되돌릴 수 있으며 항상 작은 매개변수 값으로 시작하고 큰 매개변수 값으로 끝납니다. 인수가 0 또는 NaN보다 작으면 0으로 처리되고, 인수가 문자열 길이보다 크면 문자열의 길이 값으로 처리됩니다.
코드 복사 코드는 다음과 같습니다.
// 인쇄 기능이 정의되어 있다고 가정합니다.
var anyString = "Mozilla";

// "Moz" 표시
console.log(anyString.substring(0,3));
console.log(anyString.substring(3,0));

// "lla" 표시
console.log(anyString.substring(4,7));
console.log(anyString.substring(7,4));

// "Mozill" 표시
console.log(anyString.substring(0,6));

// "Mozilla" 표시
console.log(anyString.substring(0,7));
console.log(anyString.substring(0,10));

3.slice는 문자열의 일부를 추출합니다.
param: BeginSlice가 문자 추출을 시작하는 위치 인덱스(음수일 수 있음)는 (sourceLength-beginSlice)로 간주됩니다. sourceLength는 문자열의 길이입니다. 문자열 끝에서 시작하는 position endSlice 추출이 끝나는 문자의 위치 인덱스입니다. 생략하면 추출이 완료됩니다. 음수인 경우 (sourceLength-endSlice)로 처리됩니다.
return: start로 시작(start 포함)하고 end로 끝나는(end 제외) 새 문자열을 반환합니다.
모든 매개변수는 음수일 수 있습니다. 인덱스가 음수이면 문자열 끝부터 계산됩니다.

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

var str1 = "아침이 다가왔습니다. .";
console.log(str1.slice(4, -2)); // 아침이 다가왔습니다

var str = "아침이 다가왔습니다.";
str.slice(-3); // "우리."
str.slice(-3, -1) // "우리" "
str.slice(0, -1); // "아침이 다가왔습니다"

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