Busca da Cadeia de Caracteres do JavaScript

Método JavaScript usado para buscar strings:

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() O método retorna o texto especificado na stringPrimeira vezO índice de ocorrência (da posição):

Exemplo

let str = "Por favor, localize onde 'locate' ocorre!";
str.indexOf("locate")    // retorna 7

Experimente você mesmo

JavaScript começa a contar a partir de zero.

0 é a primeira posição da string, 1 é a segunda, 2 é a terceira ......

String.lastIndexOf()

lastIndexOf() O método retorna a última ocorrência do texto especificado na string:

Exemplo

let str = "Por favor, localize onde 'locate' ocorre!";
str.lastIndexOf("locate")    // retorna 21

Experimente você mesmo

Se não encontrar o texto:indexOf() E lastIndexOf() Ambos retornam -1:

Exemplo

let str = "Por favor, localize onde 'locate' ocorre!";
str.lastIndexOf("Bill")    // retorna -1

Experimente você mesmo

Esses dois métodos aceitam o segundo parâmetro como a posição de início da busca:

Exemplo

let str = "Por favor, localize onde 'locate' ocorre!";
str.indexOf("locate", 15)    // retorna 21

Experimente você mesmo

lastIndexOf() O método busca para trás (do final para o início), o que significa que se o segundo parâmetro for 15Se o segundo parâmetro for especificado, a busca começará a partir da posição 15 e continuará até o início da string.

Exemplo

let str = "Por favor, localize onde 'locate' ocorre!";
str.lastIndexOf("locate", 15)    // retorna 7

Experimente você mesmo

String.search()

search() O método busca um valor especificado dentro da string e retorna a posição do match:

Exemplo

let str = "Por favor, localize onde 'locate' ocorre!";
str.search("locate")     // retorna 7

Experimente você mesmo

Você notou?

indexOf() E search() Esses dois métodos, são iguais?

Eles aceitam os mesmos parâmetros e retornam os mesmos valores?

Esses dois métodos não são iguais. As diferenças são as seguintes:

  • search() O método não pode aceitar um segundo parâmetro de posição de início.
  • indexOf() O método não pode usar valores de busca poderosos (expressões regulares).

Você aprenderá mais sobre expressões regulares nos capítulos seguintes.

String.match()

O método match() busca correspondências na string com base na expressão regular e retorna os itens correspondentes como um objeto Array.

Exemplo 1

Procurar "ain" dentro da string:

let text = "A chuva na ESPANHA fica principalmente na planície";
text.match(/ain/g)    // retorna o array [ain,ain,ain]

Experimente você mesmo

Aprenda mais sobre expressões regulares no capítulo JS RegExp.

Se a expressão regular não contiver o modificador g (executar busca global), o método match() retornará apenas a primeira ocorrência correspondente na string.

Sintaxe

string.match(regexp)
regexp Obrigatório. O valor a ser pesquisado, é uma expressão regular.
Retorno: Um array, contendo os itens correspondentes, cada item correspondendo a um projeto, se não encontrar itens correspondentes, então é null.

Exemplo 2

Executar uma busca global não case-sensitive para "ain":

let text = "A chuva na ESPANHA fica principalmente na planície";
text.match(/ain/gi)   // Retorna o array [ain, AIN, ain, ain]

Experimente você mesmo

String.includes()

Se a string contiver o valor especificado,includes() O método retorna true.

Exemplo

let text = "Hello world, welcome to the universe.";
text.includes("world")    // Retorna true

Experimente você mesmo

Suporte do navegador

Internet Explorer não suporta String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
Março de 2015 Julho de 2015 Agosto de 2015 Outubro de 2015 Março de 2015

Sintaxe

string.includes(searchvalue, start)
searchvalue Obrigatório. A string a ser pesquisada.
start Opcional. O valor padrão é 0. Posição de início da pesquisa.
Retorno: Se a string contiver esse valor, então retorna true,caso contrário retorna false.
Versão do JS: ES6 (2015)

Verificar se a string contém "world", começando a pesquisa a partir da posição 12:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // Retorna false

Experimente você mesmo

String.startsWith()

Se a string começar com o valor especificado, então startsWith() O método retorna true,caso contrário retorna false:

Exemplo

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Retorna true

Experimente você mesmo

Sintaxe

string.startsWith(searchvalue, start)

Valor do parâmetro

Parâmetro Descrição
searchvalue Obrigatório. Valor a ser pesquisado.
start Opcional. O valor padrão é 0. Posição de início da pesquisa.

Exemplo

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // Retorna false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // Retorna false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // Retorna true

Experimente você mesmo

Notas:startsWith() O método distingue entre maiúsculas e minúsculas.

Internet Explorer não suporta startsWith() Método.

A primeira versão do navegador completamente suportada é:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
Março de 2015 Julho de 2015 Agosto de 2015 Outubro de 2015 Março de 2015

String.endsWith()

Se a string terminar com o valor especificado, então endsWith() O método retorna true,caso contrário retorna false:

Exemplo

Verificar se a string termina com "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // Retorna true

Experimente você mesmo

Sintaxe

string.endsWith(searchvalue, length)

Valor do parâmetro

Parâmetro Descrição
searchvalue Obrigatório. Valor a ser pesquisado.
length Opcional. O comprimento a ser pesquisado.

Recupere os primeiros 11 caracteres da string que termina com "world":

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // Retorna true

Experimente você mesmo

Notas:endsWith() O método distingue entre maiúsculas e minúsculas.

Internet Explorer não suporta endsWith() Método.

A primeira versão do navegador que completamente suporta este método é:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
Maio de 2016 Abril de 2017 Junho de 2017 Setembro de 2016 Junho de 2016

Referência completa de string

Para referência completa, acesse nossa referência Manual de referência de string JavaScript.

Este manual contém descrições e exemplos de todas as propriedades e métodos de string.