JavaScript/JavaScript 문법

[JavaScript]문자열에서 특정 문자열 포함 여부 확인

DevStory 2021. 8. 17.

JavaScript에서 문자열이 특정 문자열을 포함하는지 확인하는 방법에 대해 소개합니다. 방법이 다양하므로 로직에 적합한 함수를 사용하면 되겠습니다.

 

※ 함수의 성능은 브라우저마다 다릅니다.


ECMAScript 6부터 지원하는 includes 함수

includes 함수는 ECMAScript 6부터 지원하므로 일부 환경에서는 실행이 안될 수 있습니다.

특정 문자열이 존재하면 true를 반환하며, 존재하지 않으면 false를 반환합니다.

str.includes(searchString[, position])

searchString

- 검색하고자 하는 문자열입니다.

 

position

- 검색 시작 위치이며, 생략할 경우 시작 위치는 0으로 설정됩니다.

 

includes 함수는 대소문자를 구분합니다.

var str = 'JavaScript and Java';

// str에 'Java'가 존재하는지 체크합니다.
console.log(str.includes('Java'));
// true

// str의 15번째 위치부터 검색합니다.
console.log(str.includes('Java', 15));
// true

// str의 16번째 위치부터 검색합니다.
console.log(str.includes('Java', 16));
// false

indexOf 함수

indexOf 함수는 특정 문자열이 존재하면 첫 번째 index를 반환하며, 존재하지 않으면 -1을 반환합니다.

만약, 동일한 문자열이 여러 개 존재하는 경우 검색 시작 위치에서 가장 가까운 index를 반환합니다.

str.indexOf(searchValue[, fromIndex])

searchValue

- 검색하고자 하는 문자열입니다.

 

fromIndex

- 검색 시작 위치이며, 생략할 경우 시작 위치는 0으로 설정됩니다.

- 매개변수의 값이 문자열의 길이(str.length)보다 크거나 같다면, 문자열을 검색하지 않고 -1을 반환합니다.

 

indexOf 함수는 대소문자를 구분합니다.

var str = 'JavaScript and Java';

// str에 'Java'가 존재하는지 체크합니다.
console.log(str.indexOf('Java'));
// 0

// str의 15번째 위치부터 검색합니다.
console.log(str.indexOf('Java', 15));
// 15

// str의 16번째 위치부터 검색합니다.
console.log(str.indexOf('Java', 16));
// -1

// 두 번째 매개변수가 문자열 str의 길이보다 이상일 경우입니다.
console.log(str.indexOf('Java', 20));
// -1
반응형

문자열이 특정 문자열로 시작을 하는지 체크하는 startsWith 함수

startsWith 함수는 문자열이 특정 문자열로 시작하는지 체크하는 함수입니다.

지정된 문자열로 시작하면 true를 반환하며, 그렇지 않을 경우 false를 반환합니다.

str.startsWith(searchString[, position])

searchStaring

- 검색하고자 하는 문자열입니다.

 

position

- 검색 시작 위치이며, 생략할 경우 시작 위치는 0으로 설정됩니다.

 

startsWith 함수는 대소문자를 구분합니다.

var str = 'JavaScript and Java';

// 대소문자를 체크합니다.
console.log(str.startsWith('java'));
// false

// str의 시작 문자열이 'Java'입니다.
console.log(str.startsWith('Java'));
// true

// str의 15번째 위치부터 검색합니다.
console.log(str.startsWith('Java', 15));
// true

// str의 16번째 위치부터 검색합니다.
console.log(str.startsWith('Java', 16));
// false

문자열이 특정 문자열로 끝나는지 체크하는 endsWith 함수

endsWith 함수는 문자열이 특정 문자열로 끝나는지 체크하는 함수입니다.

지정된 문자열로 끝나면 true를 반환하며, 그렇지 않을 경우 false를 반환합니다.

str.endsWith(searchString[, length])

searchString

- 검색하고자 하는 문자열입니다.

 

length

- 처음 위치(index 0번째)에서 검색할 문자열의 길이입니다.

- 생략할 경우 기본 값은 문자열의 길이(str.length)입니다.

- 문자열의 길이를 초과하는 경우 문자열의 길이(str.length)로 설정됩니다.

 

endsWith 함수는 대소문자를 구분합니다.

var str = 'JavaScript and Java';

// 대소문자를 구분합니다.
console.log(str.endsWith('java'));
// false

// str의 마지막 문자열이 'Java'로 끝나는지 체크합니다.
console.log(str.endsWith('Java'));
// true

// str의 0번째 시작위치에서 검색할 문자열의 길이를 10으로 설정합니다.
console.log(str.endsWith('Java', 10));
// false

// str의 0번째 시작위치에서 검색할 문자열의 길이를 25로 설정합니다.
// str.length를 초과했으므로 두 번째 매개변수는 str의 length로 설정됩니다.
console.log(str.endsWith('Java', 25));
// true
반응형

댓글