답변:
정규식이 필요한 경우을 사용하십시오 search()
. 그렇지 않으면 indexOf()
더 빨라질 것입니다.
search
원하지 않는 경우에도 문자열을 정규식으로 평가합니다.
IndexOf ()-문자열 리터럴 또는 문자열 객체는 허용하지만 정규 표현식 은 허용 하지 않습니다 . 또한 0부터 시작하는 정수 값을 받아 검색을 시작합니다. 예 :
Search ()-문자열 리터럴 또는 문자열 객체와 정규식을 모두 허용합니다. 그러나 검색을 시작하는 색인을 허용하지 않습니다.
"baby/e/lephant".indexOf(m);
합니까?
indexOf () 및 search ()
둘 다 공통
i) 처음 검색된 값을 반환
ii) 일치하는 것이 없으면 -1을 반환
let str='Book is booked for delivery'
str.indexOf('b') // returns position 8
str.search('b') // returns position 8
indexOf ()의 스페셜
i) 검색 위치를 두 번째 인수로 지정할 수 있습니다
str.indexOf('k') // 3
str.indexOf('k',4) // 11 (it start search from 4th position)
검색 값은 정규식 일 수 있습니다
str.search('book') // 8
str.search(/book/i) // 0 ( /i =case-insensitive (Book == book)
없이 정규 표현식 사이에 실질적인 차이가 없다 같이 IndexOf 와 검색 .
아래 예제는 라이브 데모 를 제공합니다 .
function FromSearch() {
var str = document.getElementById("demo").innerText;
var n = str.search("difference");
document.getElementById("Location").innerHTML = n;
}
function FromindexOf() {
var str = document.getElementById("demo").innerText;
var n = str.indexOf("difference");
document.getElementById("Location").innerHTML = n;
}
<p id="demo">Without a <a href='http://www.w3schools.com/js/js_regexp.asp'>regex</a>, there is no practical difference between <a href='http://www.w3schools.com/jsref/jsref_indexof.asp'>indexOf</a> and <a href='http://www.w3schools.com/jsref/jsref_search.asp'>search</a>
</p>
<button onclick="FromSearch()">From search</button>
<button onclick="FromindexOf()">From indexOf</button>
<p>Location of difference in the above sentence is:</p>
<mark id="Location"></mark>
search
문자열을로 변환하면 문자 39에서도 일치합니다.RegExp
str.search("d........e");