Resumo : neste tutorial, você aprenderá como usar o indexOf()
método JavaScript String para encontrar o índice de uma substring dentro de uma string.
O String.prototype.indexOf()
retorna o índice da primeira ocorrência de substring ( substr
) em uma string ( str
):
let index = str.indexOf(substr, [, fromIndex]);
Linguagem de código: JavaScript ( javascript )
Ele retorna -1 se str
não contiver o substr
.
O fromIndex
é um parâmetro opcional que especifica o índice no qual a pesquisa é iniciada. O padrão é zero (0), o que significa que se você omitir o fromIndex
, a pesquisa começará do início da string.
Eles indexOf()
sempre realizam uma pesquisa com distinção entre maiúsculas e minúsculas.
Para encontrar o índice da última ocorrência de uma substring em uma string, você usa o lastIndexOf()
método.
Exemplos de cadeia de caracteres JavaScript indexOf()
Vejamos alguns exemplos de uso do indexOf()
método.
1) Usando indexOf()
exemplo de método
O exemplo a seguir usa indexOf()
para obter o índice da primeira ocorrência da substring 'str'
na string 'finding substring in string'
:
let str = 'finding substring in string';
let index = str.indexOf('str');
console.log(index); // 11
Linguagem de código: JavaScript ( javascript )
2) Usando indexOf()
para contar ocorrências de uma substring em uma string
O exemplo a seguir usa o indexOf()
método para contar o número de ocorrências da substring 'know'
na string 'You do not know what you do not know until you know.'
:
let str = 'You do not know what you do not know until you know.';
let substr = 'know';
let count = 0;
let index = str.indexOf(substr);
while(index !== -1) {
count++;
index = str.indexOf(substr, index + 1);
}
console.log(count);
Linguagem de código: JavaScript ( javascript )
Como funciona:
- Primeiro, use o
indexOf()
método para encontrar a primeira ocorrência de thesubstr
no arquivostr
. - Em seguida, use o
while
loop para encontrar repetidamente a próxima posição desubstr
in,str
começando na última posição encontrada + 1.
3) O indexOf() e a distinção entre maiúsculas e minúsculas
O indexOf()
faz distinção entre maiúsculas e minúsculas. Veja o exemplo a seguir:
let str = 'JS indexOf';
let substr = 'js';
let index = str.indexOf(substr);
console.log(index); // -1
Linguagem de código: JavaScript ( javascript )
Neste exemplo, indexOf()
retorna -1 porque a string JS IndexOf
não contém a substring, js
mas JS
.
Para realizar uma pesquisa sem distinção entre maiúsculas e minúsculas para o índice de uma substring dentro de uma string, você pode converter a substring e a string em minúsculas antes de usar o indexOf()
método a seguir:
let str = 'JS indexOf';
let substr = 'js';
let index = str.toLocaleLowerCase().indexOf(substr.toLocaleLowerCase());
console.log(index); // 0
Linguagem de código: JavaScript ( javascript )
Resumo
- Retorna
indexOf()
o índice da primeira ocorrência de uma substring em uma string ou -1 se a string não contiver a substring. - O
indexOf()
faz distinção entre maiúsculas e minúsculas.