Como Verificar Se Uma String Contém Outra String Em JavaScript
Neste artigo vamos aprender o passo a passo completo de como verificar se uma string contém outra string utilizando a linguagem JavaScript.
Esse tipo de situação é super comum em diversos tipos de projetos e tenho certeza que se você ainda não precisou fazer essa validação uma hora você vai precisar.
Portanto preste muita atenção a toda a explicação feita neste artigo para que você consiga dominar essa técnica e aumentar suas habilidades com programação.
Vamos lá aprender a verificar se uma string contém outra string no JavaScript?
Confira neste artigo:
Método includes()
Primeiramente vamos aprender a utilizar uma das formas mais simples de verificar se uma string contém outra string que é através do método includes().
Atualmente o método includes() é a forma oficial e mais utilizada para fazer esse tipo de verificação. Após o uso dele você tem o retorno true ou false
Veja o exemplo abaixo:
'Programador viking'.includes('viking');
Executando o código acima o retorno será true porque a palavra ‘viking’ está contida dentro da string ‘Programador viking’.
Porém você precisa ter uma atenção especial aqui pois o método includes() é case sensitive, ou seja, ele vai buscar a palavra exata dentro da string.
Veja também: Vale a pena investir no curso de JavaScript do OneBitCode?
Por exemplo:
'PROGRAMADOR VIKING'.includes('viking');
Ao executar o código acima o retorno será false porque embora seja a mesma palavra, estamos buscando ‘viking’ em minúsculo dentro de uma string completamente maiúscula.
Por esse motivo o retorno é false. Para corrigir esse problema de verificação podemos adaptar o nosso código da seguinte forma:
'PROGRAMADOR VIKING'.toLowerCase().includes('viking');
Dessa forma o retorno será true porque antes de verificar se a palavra ‘viking’ está contida dentro da string ‘PROGRAMADOR VIKING’ nós utilizamos a função toLowerCase().
Essa função transforma a string principal inteira em minúsculo, logo em seguida usamos o método includes() já com a string tratada.
Também é possível passar um segundo parâmetro para o método includes() onde inicia a busca pela substring. Por exemplo:
'ABCDE'.includes('A', 0); // true
'ABCDE'.includes('A', 1); // false
'ABCDE'.includes('B', 1); // true
Observações importantes
O método String.prototype.includes() foi implementado no JavaScript no ano de 2015 na versão ES6. Ou seja, ele pode não ser suportado em navegadores mais antigos, por exemplo o Internet Explorer.
Veja também: Vale a pena investir no curso de JavaScript do OneBitCode?
Caso você precise utilizar esse método, é possível fazer facilmente forçando o método includes() através do polyfill conforme exemplo abaixo:
if (!String.prototype.includes) {
String.prototype.includes = function() {
'use strict';
return String.prototype.indexOf.apply(this, arguments) !== -1;
};
}
Incluindo esse trecho de código no início do seu bundle (ex: app.js ) você poderá utilizar o método includes mesmo que o navegador não o suporte nativamente.
Bônus
Caso você precise verificar se uma palavra está contida em uma string, porém não quer pegar fragmentos da string que não seja uma palavra inteira, por exemplo:
“pessoa” está contida na frase “Olá pessoal”
Você pode utilizar o método includes(), porém no objetivo Array conforme exemplo abaixo:
'Olá pessoal'.split(/\W+/).includes('pessoa'); // false
'Olá pessoal'.split(/\W+/).includes('pessoal'); // true
No exemplo acima primeiro dividimos a string em um array de palavras utilizando o split(). Depois verificamos se a palavra em específico está contida na string.
Método indexOf()
Antes de existir o método oficial includes(), uma outra forma de verificar se uma string contém outra string era utilizando o método indexOf().
Esse método retorna um número inteiro referente a posição da substring, e caso não encontre o retorno é -1.
Além disso, é possível passar um segundo parâmetro opcional para indicar onde será iniciado a busca. Por exemplo:
'abcde'.indexOf('a') !== -1 // true
'abcde'.indexOf('f') !== -1 // false
'abcde'.indexOf('a', 1) !== -1 // false
'abcde'.indexOf('a'); // 0
'abcde'.indexOf('b'); // 1
Bastante interessante né?
Conclusão: String Contém Outra String Em JavaScript
O segredo para alcançar o topo da sua carreira na área da tecnologia está a um clique de distância. Toque no botão abaixo agora mesmo e mergulhe em mais de 1400 cursos completos, todos com certificados de peso.
ACESSAR CURSOS COM CERTIFICADOEnfim, espero que tenha gostado deste conteúdo pois preparamos ele para realmente te ajudar em seus estudos sobre desenvolvimento de software.
Eu vou ficando por aqui…
Até a próxima e um forte abraço!!
Sobre o Autor
0 Comentários