자바스크립트에서 문자열을 찾기 위해 사용하는 것이 indexOf 이다. indexOf 메서드는 첫번째로 검색된 문자열의 첫번째 글자의 인덱스위치를 가져온다. 만약 중복된 다른 문자열을 검색할 경우 시작위치를 인자값으로 추가하여 첫번째가 아닌 두번째 세번째 의 다른 문자열 또한 검색할 수 있다.
자바스크립트 문자열 찾기 indexOf 메서드 시작위치 지정
javascript string search indexof startposition
indexOf 는 장문의 문자열에서 찾을 문자열의 인덱스번호를 찾는 메서드이다.
중복되는 문자열이 있을 경우 첫번째로 발견한 문자열의 첫번째 글자의 인덱스번호를 가져온다.
만약, 찾을 문자열이 없다면 -1 을 결과로 보여준다.
indexOf 메서드에 숫자를 인자값으로 추가하면 찾을 문자열의 시작위치를 지정할 수 있다.
무조건 찾을 문자열을 첫번째가 아닌 다른 위치에서 검색하여 첫번째로 나오는 문자열을 검색할 수 있다.
사용 방법
indexOf 메서드에 문자열을 검색하고자 할 때 시작위치를 지정하려면 두 번째 인자값으로 숫자를 넣어주면 된다.
String.indexOf("찾을 문자열", 문자열 검색 시작위치)
만약 장문의 어떤 문자열에서 검색할 문자열이 여러 개 있는 경우 시작위치를 바꿔가면서 검색할 필요가 있다.
이 때 사용하는 것이 시작위치 인자값이다.
첫번째 단어를 검색하여 찾았다고 하고 시작위치를 변경해 주면 두번째에 위치한 문자열을 찾을 수 있다.
샘플코드
위의 코드를 이용하여 자바스크립트 코드를 만들어 본다.
중복되는 문자열은 테스트를 위해 여러 개 넣고 위치만 바꿔준다.
코드가 길어보지만 별 것 없다.
<!DOCTYPE html>
<html>
<body>
<h1>자바스크립트 문자열 IndexOf 메서드 시작위치 지정</h1>
<script>
console.log("----------");
let vStr = "블랙핑크, 블랙핑크, 블랙핑크";
console.log(typeof(vStr), vStr);
let vIdx = 0;
vIdx = vStr.indexOf("블랙핑크");
console.log(typeof(vIdx), vIdx);
vIdx = ResetStartIndex(vIdx);
vIdx = vStr.indexOf("블랙핑크", vIdx);
console.log(typeof(vIdx), vIdx);
vIdx = ResetStartIndex(vIdx);
vIdx = vStr.indexOf("블랙핑크", vIdx);
console.log(typeof(vIdx), vIdx);
vIdx = ResetStartIndex(vIdx);
vIdx = vStr.lastIndexOf("blackpink", vIdx);
console.log(typeof(vIdx), vIdx);
console.log("----------");
function ResetStartIndex(pIndex){
return ( pIndex + 1 );
}
</script>
</body>
</html>
첫번째로 블랙핑크를 검색하면 첫번째로 검색된 단어의 첫글자의 위치가 0이다.
그렇기에 0을 결과로 보여준다.
이후 +1 을 하여 시작위치를 변경해 준다.
시작위치를 변경하여 다시 블랙핑크를 검색한다.
시작위치가 변경된 위치에서 검색된 블랙핑크 란 단어의 위치가가 결과로 나온다.
결과 화면을 보자.
제대로 검색되는 것을 확인할 수 있다.
단 검색할 문자열이 없는 경우 -1 을 결과로 보여준다.
댓글