본문 바로가기
programming/javascript

자바스크립트 문자열 찾기 lastIndexOf 메서드 사용 using javascript string lastIndexOf method

by 개코 - 개발과 코딩 2021. 11. 14.

lastIndexOf 메서드는 문자열을 찾는 메서드 중 하나이다. 장문의 글에서 찾을 문자열의 위치를 결과로 반환한다. indexOf 메서드와 비교되는데 차이가 있다면 indexOf 메서드는 찾을 문자열이 첫번째로 발견된 위치를 결과로 반환한다는 것이고 lastIndexOf 메서드는 찾을 문자열이 마지막으로 발견된 위치를 결과로 반환한다는 것이다.

 

자바스크립트 문자열 찾기 lastIndexOf 메서드 사용
using javascript string lastIndexOf method

indexOf 메서드를 사용하여 주어진 문자열에서 찾을 문자열의 첫번째 위치를 찾을 수 있다면 lastIndexOf 는 문자열에서 찾을 문자열의 마지막 위치를 찾을 수 있다.

무슨 말인가.

둘 다 중복된 단어를 기준으로 이해하면 쉽다.

장문의 글에는 중복된 단어들이 많다.

한글은 상관없지만 영어권에서는 of 라는 전치사만 해도 많이 들어갈 수 있다.

장문의 긴 문자열에서 중복된 단어들이 있는 경우

indexOf 메서드는 첫번째로 발견한 문자열의 위치를 알려준다.

lastIndexOf 메서드는 마지막에 발견한 문자열의 위치를 알려준다.

lastIndexOf 메서드 사용방법

lastIndexOf 메서드의 사용방법은 indexOf 메서드와 같다.

인자값으로 찾을 문자열을 넣어주면 된다.

다시 언급해 보면 lastIndexOf 메서드는 장문의 문자열에서 찾을 문자열의 위치를 반환한다.

이것은 indexOf 메서드와 역할이 같다.

하지만, 중복된 문자열을 찾을 경우 마지막에 발견한 문자열의 위치를 알 수 있다.

String.lastIndexOf("찾을 문자열")

코드 샘플

lastIndexOf 메서드를 사용함에 있어 indexOf 메서드와 같이 비교해 본다.

둘 다 찾을 문자열의 위치를 찾는다는 것에는 차이가 없다.

다만 찾을 문자열이 중복된다면 다른 결과를 볼 수 있다.

<!DOCTYPE html>
<html>
    <body>

        <h1>자바스크립트 문자열 lastIndexOf 메서드</h1>

        <script>

            console.log("----------");

            let vStr = "블랙핑크, YG Ent, 블랙핑크, 지수,제니,로제,리사, 블랙핑크";
            console.log(typeof(vStr), vStr);

            let vIdx;
            
            vIdx = vStr.indexOf("블랙핑크");
            console.log("indexOf", typeof(vIdx), vIdx);
            
            vIdx = vStr.lastIndexOf("블랙핑크");
            console.log("lastIndexOf", typeof(vIdx), vIdx);

            vIdx = vStr.lastIndexOf("blackpink");
            console.log(typeof(vIdx), vIdx);

            console.log("----------");

        </script>
        
    </body>
</html>

장문의 문자열에서 찾을 문자열의 위치를 찾는 것에는 변함이 없다.

단, 이 때는 중복이 없으면 상관이 없다.

다만, 장문의 문자열에서 중복되는 찾을 문자열이 있는 경우의 위치를 보자.

결과 화면을 보자.

indexOf 를 사용했을 경우 찾을 문자열이 중복되면 첫번째로 발견한 문자열의 위치의 결과를 알 수 있다.

lastIndexOf를 사용했을 경우 찾을 문자열이 중복되면 마지막으로 발견한 문자열의 위치의 결과를 알 수 있다.

만약, 찾을 문자열이 없다면 -1 을 출력하는 것에 주목하자.

반응형

댓글