Como verificar se uma string contém outra string em JavaScript
O artigo detalha diferentes métodos em JavaScript para verificar se uma string contém outra.
Glossário
Verificando se uma string contém outra string usando o método includes() em JavaScript
Quando estamos desenvolvendo em JavaScript, muitas vezes nos deparamos com a necessidade de verificar se uma string contém outra string. Felizmente, a linguagem JavaScript nos fornece várias maneiras de realizar essa verificação. Uma das formas mais comuns é utilizando o método includes().
O método includes()
O método includes() é uma função integrada no JavaScript que retorna true se a string contém a substring especificada e retorna false caso contrário. Ele verifica se a substring está presente em qualquer posição da string.
Para usar o método includes(), basta aplicá-lo à string que desejamos verificar e passar a substring como argumento. A sintaxe é a seguinte:
let str = "Uma string de exemplo";
let substr = "exemplo";
if (str.includes(substr)) {
console.log("A string contém a substring!");
} else {
console.log("A string não contém a substring.");
}
Nesse exemplo, utilizamos o método includes() para verificar se a string “Uma string de exemplo” contém a substring “exemplo”. Caso a substring esteja presente na string, o código dentro do bloco if será executado e exibirá a mensagem “A string contém a substring!”. Caso contrário, o código dentro do bloco else será executado, exibindo a mensagem “A string não contém a substring.”
Uma vantagem do método includes() é que ele é case-sensitive, ou seja, faz diferenciação entre letras maiúsculas e minúsculas. Isso significa que se a substring estiver em uma combinação diferente de maiúsculas e minúsculas em relação à string, o método considerará que a substring não está presente.
Utilizando o método search()
Além do método includes(), outra opção para verificar se uma string contém outra em JavaScript é o método search(). O método search() realiza uma busca por uma expressão regular dentro da string e retorna o índice da primeira ocorrência encontrada.



A sintaxe do método search() é a seguinte:
let str = "Uma string de exemplo";
let substr = /exemplo/;
let result = str.search(substr);
if (result !== -1) {
console.log("A string contém a substring!");
} else {
console.log("A string não contém a substring.");
}
Nesse exemplo, a variável `substr` recebe uma expressão regular `/exemplo/`. A função `search()` é aplicada à string `str`, passando a expressão regular como argumento. O método `search()` retorna o índice da primeira ocorrência da expressão regular na string. Se o valor retornado for diferente de -1, significa que a substring foi encontrada.
Uma das vantagens do método search() é que ele aceita expressões regulares como parâmetro, o que permite realizar buscas mais complexas em strings. Por exemplo, é possível fazer buscas case-insensitive utilizando a flag `i` na expressão regular, ou até mesmo buscar por padrões específicos.
No entanto, é importante destacar que o método search() retorna apenas o índice da primeira ocorrência na string. Se houver a necessidade de encontrar todas as ocorrências da substring, será preciso utilizar uma abordagem diferente, como o uso de loops ou o método match().
Como usar o método indexOf()
Outra alternativa para verificar se uma string contém outra em JavaScript é utilizando o método indexOf(). O método indexOf() retorna o índice da primeira ocorrência da substring dentro da string, ou -1 se a substring não for encontrada.
Para usar o método indexOf(), precisamos aplicá-lo à string que desejamos verificar e passar a substring como argumento. A sintaxe é a seguinte:
let str = "Uma string de exemplo";
let substr = "exemplo";
let result = str.indexOf(substr);
if (result !== -1) {
console.log("A string contém a substring!");
} else {
console.log("A string não contém a substring.");
}
Nesse exemplo, utilizamos o método indexOf() para verificar se a string “Uma string de exemplo” contém a substring “exemplo”. O método retorna o índice da primeira ocorrência da substring na string. Se a substring não for encontrada, o método retorna -1.
O método indexOf() também pode receber um segundo parâmetro opcional, que define a partir de qual posição da string a busca deve ser iniciada. Isso pode ser útil se quisermos buscar por uma ocorrência específica da substring.
Comparando o método match() e o método test()
Além dos métodos mencionados anteriormente, o JavaScript também oferece o método match() e o método test() como opções para verificar se uma string contém outra. Esses métodos são especialmente úteis quando precisamos buscar substrings baseadas em padrões de expressões regulares.
O método match() é aplicado diretamente à string que desejamos verificar e recebe como argumento uma expressão regular. Ele retorna um array contendo todas as correspondências encontradas ou null se nenhuma correspondência for encontrada.



let str = "Uma string de exemplo";
let regex = /exemplo/g;
let result = str.match(regex);
if (result !== null) {
console.log("A string contém a substring!");
} else {
console.log("A string não contém a substring.");
}
Nesse exemplo, utilizamos o método match() para buscar todas as ocorrências da expressão regular `/exemplo/g` na string “Uma string de exemplo”. Se o método encontrar correspondências, o array contendo as correspondências será retornado. Caso contrário, será retornado null.
Por outro lado, o método test() é um método aplicado diretamente em uma expressão regular e recebe como argumento a string que desejamos verificar. Ele retorna true se a substring estiver presente na string ou false caso contrário.
let str = "Uma string de exemplo";
let regex = /exemplo/;
if (regex.test(str)) {
console.log("A string contém a substring!");
} else {
console.log("A string não contém a substring.");
}
Nesse exemplo, utilizamos o método test() para verificar se a expressão regular `/exemplo/` está presente na string “Uma string de exemplo”. Se a substring for encontrada, o método retorna true. Caso contrário, retorna false.
Ao comparar o método match() e o método test(), é importante considerar que o método match() retorna um array com todas as correspondências encontradas, enquanto o método test() retorna apenas um valor booleano indicando se a substring está presente ou não.
Em resumo, o JavaScript oferece várias opções para verificar se uma string contém outra. Tanto o método includes(), search() e indexOf() são úteis para buscar substrings exatas dentro de uma string. Já o método match() e o método test() são mais adequados para buscar padrões de expressões regulares em uma string.
Essas são apenas algumas das muitas possibilidades que o JavaScript nos proporciona ao trabalharmos com strings. O importante é entender cada método e escolher o mais adequado para cada situação. Esperamos que este artigo tenha ajudado você a compreender melhor como verificar se uma string contém outra em JavaScript.
A Awari é a melhor plataforma para aprender sobre programação no Brasil.
Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.
Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.


