Introdução:
JavaScript é uma linguagem de programação amplamente usada e fornece vários métodos integrados para manipular strings. Dois dos métodos mais comumente usados para pesquisar uma string em busca de um caractere ou substring específico são índice de() e procurar() . Embora esses dois métodos possam parecer semelhantes em funcionalidade, eles apresentam algumas diferenças importantes. Neste artigo, exploraremos as diferenças entre indexOf() e search() em JavaScript.
Método indexOf():
O índice de() método é uma função JavaScript integrada usada para encontrar o índice da primeira ocorrência de uma substring em uma determinada string. Este método retorna o índice da primeira ocorrência da substring especificada, começando no início da string. Se a substring não for encontrada, o método retornará -1 .
Sintaxe:
A sintaxe para usar o índice de() método é o seguinte:
string.indexOf(searchValue[, fromIndex])
Aqui, corda é a string a ser pesquisada, valor de pesquisa é o valor a ser pesquisado e do índice é o parâmetro opcional que especifica a posição na string onde a pesquisa deve começar. Se o do índice não é fornecido, o índice de() O método inicia a pesquisa desde o início da string. Se do índice é um negativo valor, a pesquisa começa no final da string.
Exemplo:
regexp_like no mysql
Vamos dar um exemplo para entender o índice de() método:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
Saída:
16
Explicação:
Aqui o método indexOf() procura pela primeira ocorrência da palavra 'poderoso' na corda 'JavaScript é uma linguagem de programação poderosa' . Desde a palavra 'poderoso' aparece no índice 16 , o método retorna 16 .
Método de pesquisa():
O método de pesquisa() também é uma função JavaScript integrada usada para encontrar o índice do primeiro caractere de uma substring em uma determinada string. Este método retorna o índice da primeira ocorrência da substring especificada, começando no início da string. Se a substring não for encontrada, o método retornará -1 .
Sintaxe:
A sintaxe para usar o método de pesquisa() é o seguinte:
string.search(regexp)
Aqui, corda é a string a ser pesquisada e expressão regular é o expressão regular padrão a ser pesquisado. Se o expressão regular padrão é encontrado, o procurar() método retorna o índice do primeiro caractere da correspondência. Se o padrão de expressão regular não for encontrado, o método retornará -1 .
Exemplo:
Vamos dar um exemplo para entender o procurar() método:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Saída:
16
Explicação:
Aqui o procurar() método procura o expressão regular padrão /poderoso/ na corda 'JavaScript é uma linguagem de programação poderosa' . Como o padrão de expressão regular corresponde à palavra 'poderoso' , o método retorna 16 .
Diferenças entre indexOf() e search():
Embora ambos índice de() e procurar() são usados para procurar uma substring dentro de uma determinada string, eles têm algumas diferenças importantes. Vamos dar uma olhada nessas diferenças lado a lado:
Método indexOf() | Método search() |
---|---|
índice de() O método procura uma substring especificada dentro de uma determinada string. | procurar() O método procura um padrão de expressão regular dentro de uma determinada string. |
O método indexOf() retorna o índice da primeira ocorrência da substring especificada. | O método search() retorna o índice do primeiro caractere da correspondência. |
O método indexOf() não oferece suporte a expressões regulares. | O método search() suporta expressões regulares. |
O método indexOf() pode aceitar um parâmetro opcional fromIndex para iniciar a pesquisa a partir de um índice específico. | O método search() não aceita parâmetro opcional para iniciar a busca a partir de um índice específico. |
O método indexOf() é mais rápido que o método search() porque não suporta expressões regulares. | O método search() é mais lento que o método indexOf() porque suporta expressões regulares. |
O método indexOf() diferencia maiúsculas de minúsculas. | O método search() também diferencia maiúsculas de minúsculas por padrão, mas pode tornar-se insensível a maiúsculas e minúsculas usando o /eu sinalizar no padrão de expressão regular. |
O método indexOf() é amplamente utilizado para pesquisas simples de strings. | O método search() é amplamente utilizado para correspondência de padrões complexos usando expressões regulares. |
Conclusão:
Em conclusão, ambos índice de() e procurar() métodos são úteis para procurar uma substring dentro de uma determinada string. No entanto, eles têm algumas diferenças importantes que os tornam adequados para diferentes casos de uso. O método indexOf() é mais rápido e mais adequado para pesquisas simples de strings, enquanto o método search() oferece suporte a expressões regulares e é mais adequado para correspondência de padrões complexos. É importante escolher o método apropriado com base nos requisitos específicos do seu programa.