소개:
JavaScript는 널리 사용되는 프로그래밍 언어이며 문자열을 조작하기 위한 여러 내장 메서드를 제공합니다. 문자열에서 특정 문자나 하위 문자열을 검색하는 데 가장 일반적으로 사용되는 두 가지 방법은 다음과 같습니다. 인덱스() 그리고 찾다() . 이 두 가지 방법은 기능면에서는 비슷해 보이지만 몇 가지 중요한 차이점이 있습니다. 이 기사에서는 JavaScript에서 indexOf()와 search()의 차이점을 살펴보겠습니다.
indexOf() 메서드:
그만큼 인덱스() 메소드는 주어진 문자열 내에서 하위 문자열이 처음 나타나는 인덱스를 찾는 데 사용되는 내장 JavaScript 함수입니다. 이 메서드는 문자열의 시작 부분부터 시작하여 지정된 하위 문자열이 처음 나타나는 인덱스를 반환합니다. 하위 문자열이 발견되지 않으면 메서드는 다음을 반환합니다. -1 .
통사론:
사용 구문은 인덱스() 방법은 다음과 같습니다.
string.indexOf(searchValue[, fromIndex])
여기, 끈 검색할 문자열입니다. 검색값 검색할 값입니다. fromIndex 검색이 시작되어야 하는 문자열의 위치를 지정하는 선택적 매개변수입니다. 만약 fromIndex 제공되지 않으며, 인덱스() 메소드는 문자열의 처음부터 검색을 시작합니다. 만약에 fromIndex 는 부정적인 값을 입력하면 문자열 끝부터 검색이 시작됩니다.
예:
폴더 이름 바꾸기 linux
이해를 돕기 위해 예를 들어보자 인덱스() 방법:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
산출:
16
설명:
여기서는 indexOf() 메서드 해당 단어가 처음 나타나는 것을 검색합니다. '강한' 문자열에 'JavaScript는 강력한 프로그래밍 언어입니다' . 그 말부터 '강한' 인덱스에 나타납니다 16 , 메서드가 반환됩니다. 16 .
검색() 메서드:
그만큼 검색() 메서드 또한 주어진 문자열 내에서 하위 문자열의 첫 번째 문자 인덱스를 찾는 데 사용되는 내장 JavaScript 함수입니다. 이 메서드는 문자열의 시작 부분부터 시작하여 지정된 하위 문자열이 처음 나타나는 인덱스를 반환합니다. 하위 문자열을 찾을 수 없으면 메서드는 다음을 반환합니다. -1 .
통사론:
사용 구문은 검색() 메서드 다음과 같다:
string.search(regexp)
여기, 끈 검색할 문자열입니다. 정규식 은 정규식 검색할 패턴입니다. 만약 정규식 패턴이 발견되고, 찾다() 메서드는 일치하는 첫 번째 문자의 인덱스를 반환합니다. 정규식 패턴을 찾을 수 없으면 메서드는 다음을 반환합니다. -1 .
예:
이해를 돕기 위해 예를 들어보자 찾다() 방법:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
산출:
16
설명:
여기서는 찾다() 메소드는 다음을 검색합니다. 정규식 무늬 /강한/ 문자열에 'JavaScript는 강력한 프로그래밍 언어입니다' . 정규식 패턴이 단어와 일치하므로 '강한' , 메서드가 반환됩니다. 16 .
indexOf()와 search()의 차이점:
비록 둘 다 인덱스() 그리고 찾다() 메서드는 주어진 문자열 내에서 하위 문자열을 검색하는 데 사용되지만 몇 가지 주요 차이점이 있습니다. 이러한 차이점을 나란히 살펴보겠습니다.
indexOf() 메서드 | search() 메서드 |
---|---|
인덱스() 메소드는 주어진 문자열 내에서 지정된 하위 문자열을 검색합니다. | 찾다() 메소드는 주어진 문자열 내에서 정규식 패턴을 검색합니다. |
indexOf() 메서드는 지정된 하위 문자열이 처음 나타나는 인덱스를 반환합니다. | search() 메서드는 일치하는 첫 번째 문자의 인덱스를 반환합니다. |
indexOf() 메서드는 정규식을 지원하지 않습니다. | search() 메서드는 정규식을 지원합니다. |
indexOf() 메서드는 선택적 매개 변수 fromIndex를 허용하여 특정 인덱스에서 검색을 시작할 수 있습니다. | search() 메서드는 특정 인덱스에서 검색을 시작하기 위한 선택적 매개 변수를 허용하지 않습니다. |
indexOf() 메서드는 정규식을 지원하지 않기 때문에 search() 메서드보다 빠릅니다. | search() 메서드는 정규식을 지원하므로 indexOf() 메서드보다 속도가 느립니다. |
indexOf() 메서드는 대소문자를 구분합니다. | search() 메서드도 기본적으로 대소문자를 구분하지만 다음을 사용하여 대소문자를 구분하지 않도록 설정할 수 있습니다. /i 플래그 정규식 패턴에서. |
indexOf() 메소드는 간단한 문자열 검색에 널리 사용됩니다. | search() 메서드는 정규식을 사용한 복잡한 패턴 일치에 널리 사용됩니다. |
결론:
결론적으로 둘 다 인덱스() 그리고 찾다() 메소드는 주어진 문자열 내에서 하위 문자열을 검색하는 데 유용합니다. 그러나 다양한 사용 사례에 적합하도록 만드는 몇 가지 주요 차이점이 있습니다. indexOf() 메서드는 더 빠르고 간단한 문자열 검색에 더 적합한 반면, search() 메서드는 정규식을 지원하며 복잡한 패턴 일치에 더 적합합니다. 프로그램의 특정 요구 사항에 따라 적절한 방법을 선택하는 것이 중요합니다.