JavaScript 문자열 검색
- 이전 페이지 JS 문자열 메서드
- 다음 페이지 JS 문자열 템플릿
문자열을 검색하는 JavaScript 메서드:
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
메서드는 문자열에서 지정된 텍스트의 위치를 반환합니다.첫 번째발생한 (위치)의 인덱스:
예제
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate") // 반환 7
JavaScript는 0부터 위치를 계산합니다.
0은 문자열의 첫 번째 위치, 1은 두 번째, 2는 세 번째......
String.lastIndexOf()
lastIndexOf()
메서드는 지정된 텍스트가 문자열에서 가장 마지막으로 나타나는 위치를 반환합니다:
예제
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate") // 21번 위치 반환
텍스트를 찾지 못하면indexOf()
그리고 lastIndexOf()
두 번째는 -1을 반환합니다:
예제
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // -1 반환
이 두 메서드는 두 번째 파라미터를 검색 시작 위치로 받습니다:
예제
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate", 15) // 21번 위치 반환
lastIndexOf()
메서드는 마지막으로부터 앞으로 검색합니다(끝에서 시작), 즉 두 번째 파라미터가 15
그렇다면 위치 15에서 시작하여 문자열의 시작까지 검색합니다。
예제
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // 7번 위치 반환
String.search()
search()
메서드는 문자열에서 지정된 값을 검색하고 매치 위치를 반환합니다:
예제
let str = "Please locate where 'locate' occurs!"; str.search("locate") // 7번 위치 반환
알아보셨나요?
indexOf()
그리고 search()
이 두 메서드는 같습니까?
그들은 같은 파라미터를 받고 같은 값을 반환합니다?
이 두 메서드는 같지 않습니다. 차이점은 다음과 같습니다:
search()
메서드는 두 번째 시작 위치 파라미터를 받을 수 없습니다。indexOf()
메서드는 강력한 검색 값(정규 표현식)을 사용할 수 없습니다。
정규 표현식에 대한 더 많은 내용을 나중 장에서 배웁니다。
String.match()
match() 메서드는 정규 표현식을 문자열에서 매치 항목을 검색하고, 매치 항목을 Array 객체로 반환합니다。
예제 1
문자열에서 "ain"을 검색합니다:
The rain in SPAIN stays mainly in the plain text.match(/ain/g) // 배열 [ain,ain,ain] 반환
JS RegExp 장에서 정규 표현식에 대한 더 많은 내용을 배웁니다。
정규 표현식이 g 접미사를 포함하지 않는 경우 (전체 검색을 수행합니다), match() 메서드는 문자열에서 첫 번째 매치 항목만 반환합니다。
문법
string.match(regexp)
regexp | 필수입니다. 검색할 값은 정규 표현식입니다。 |
반환: | 배열이며, 매치 항목이 포함되어 있으며, 매치 항목은 각 항목에 대응하며, 매치 항목이 없다면 null입니다。 |
예제 2
대상 "ain"에 대하여 대소문자 구분 없이 전체 검색을 수행합니다:
The rain in SPAIN stays mainly in the plain text.match(/ain/gi) // 반환 배열 [ain, AIN, ain, ain]}
String.includes()
문자열이 지정된 값을 포함하면includes()
메서드는 true를 반환합니다。
예제
let text = "Hello world, welcome to the universe."; text.includes("world") // 반환 true
브라우저 지원
Internet Explorer는 String.includes()를 지원하지 않습니다。
크롬 | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
2015년 3월 | 2015년 7월 | 2015년 8월 | 2015년 10월 | 2015년 3월 |
문법
string.includes(searchvalue, start)
searchvalue | 필수. 검색할 문자열을 필요합니다. |
start | 선택 사항. 기본值为 0. 검색 시작 위치. |
반환: | 문자열이 해당 값을 포함하면 반환 true 이렇지 않으면 반환 false . |
JS 버전: | ES6 (2015) |
문자열이 "world"를 포함하는지 확인합니다,12번 위치에서 검색 시작:
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // 반환 false
String.startsWith()
문자열이 지정된 값으로 시작하면 startsWith()
메서드는 반환 true
이렇지 않으면 반환 false
:
예제
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // 반환 true
문법
string.startsWith(searchvalue, start)
파라미터 값
파라미터 | 설명 |
---|---|
searchvalue | 필수. |
start | 선택 사항. 기본值为 0. 검색 시작 위치. |
예제
let text = "Hello world, welcome to the universe."; text.startsWith("world") // 반환 false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // 반환 false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // 반환 true
주의:startsWith()
메서드는 대소문자를 구분합니다.
인터넷 익스플로러는 지원하지 않습니다 startsWith()
메서드.
제일 먼저 완전히 지원하는 브라우저 버전은:
크롬 | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
2015년 3월 | 2015년 7월 | 2015년 8월 | 2015년 10월 | 2015년 3월 |
String.endsWith()
문자열이 지정된 값으로 끝나면 endsWith()
메서드는 반환 true
이렇지 않으면 반환 false
:
예제
문자열이 "Gates"로 끝나는지 확인합니다:
var text = "Bill Gates"; text.endsWith("Gates") // 반환 true
문법
string.endsWith(searchvalue, length)
파라미터 값
파라미터 | 설명 |
---|---|
searchvalue | 필수. |
length | 선택 사항. 검색할 길이. |
"world"로 끝나는 문자열의 앞 11개 문자를 검색합니다:
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // true를 반환
주의:endsWith()
메서드는 대소문자를 구분합니다.
인터넷 익스플로러는 지원하지 않습니다 endsWith()
메서드.
이 메서드를 완벽히 지원하는 첫 번째 브라우저 버전은:
크롬 | IE | 파이어폭스 | 사파리 | 오페라 |
---|---|---|---|---|
크롬 51 | 에지 15 | 파이어폭스 54 | 사파리 10 | 오페라 38 |
2016년 5월 | 2017년 4월 | 2017년 6월 | 2016년 9월 | 2016년 6월 |
전체 문자열 참조서
전체 참조를 필요로 하시면 다음을 방문해 주세요. JavaScript 문자열 참조서.
이 가이드는 모든 문자열 속성 및 메서드의 설명과 예제를 포함하고 있습니다.
- 이전 페이지 JS 문자열 메서드
- 다음 페이지 JS 문자열 템플릿