JavaScript - 문자열에서 특정 문자 위치 찾기 (indexOf, lastIndexOf)

By JS | Last updated: April 02, 2022

자바스크립트에서 indexOf(), lastIndexOf()를 이용하면 문자열의 어떤 문자 또는 문자열이 어디에 있는지 위치 정보(Index)를 가져올 수 있습니다. 예제와 함께 자세히 함수 사용 방법을 알아보겠습니다.

1. indexOf() : 문자열의 위치 찾기

indexOf(String)는 문자열에서 인자로 전달된 문자열이 있는지 찾고, 그 문자열 위치에 해당하는 Index를 리턴합니다. 만약 찾는 문자열이 없으면 -1을 리턴합니다. 주의할 점은, 대소문자를 구분하여 비교합니다. 그리고 문자열의 왼쪽에서 오른쪽 방향으로 탐색하며, 가장 먼저 찾아진 문자열의 Index를 리턴합니다.

const str = 'Hello, World, Javascript';

console.log('1: ' + str.indexOf('Hello'));
console.log('2: ' + str.indexOf('hello'));
console.log('3: ' + str.indexOf(','));
console.log('4: ' + str.indexOf('World'));
console.log('5: ' + str.indexOf('Java'));

Output:

1: 0
2: -1
3: 5
4: 7
5: 14

단순히 찾는 문자열이 있는지만 확인하는 것이라면 indexOf()보다는 includes()가 가독성이 좋습니다.

2. lastIndexOf() : 뒤에서 앞쪽 방향으로 문자열 위치 찾기

indexOf()는 문자열의 왼쪽에서 오른쪽 방향으로 문자열을 찾습니다. 동일한 문자열이 있어도, 가장 먼저 찾은 문자열의 Index를 리턴합니다. 해당하는 문자열이 없다면 -1을 리턴합니다.

lastIndexOf()는 문자열의 뒤에서 앞쪽 방향으로 문자열을 찾고, Index를 리턴합니다. 가장 마지막에 찾은 문자열의 Index가 필요하다면 lastIndexOf()를 사용하시면 됩니다.

const str = 'Hello, World, Javascript';

console.log('1: ' + str.indexOf('World'));
console.log('2: ' + str.lastIndexOf('World'));
console.log('3: ' + str.indexOf(','));
console.log('4: ' + str.lastIndexOf(','));

Output:

1: 7
2: 7
3: 5
4: 12
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha