ForHosting KIT · Ferramentas para dev

Verifique se um texto contém uma substring

Este verificador responde diretamente a uma dúvida comum de validação: um texto inclui a substring que você espera?

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ele retorna um resultado booleano e a posição, iniciada em zero, da primeira ocorrência, ou -1 quando não existe correspondência. Você pode preservar a distinção exata entre maiúsculas e minúsculas ou ignorá-la. O resultado é determinístico, fácil de testar e útil sempre que um fluxo precisa de uma condição rápida de busca sem expressões regulares ou correspondência aproximada.

Verifique uma substring com um resultado inequívoco

Informe o valor completo em text e a sequência que deseja localizar em substring. A resposta inclui contains, que é true quando há correspondência, e position, que identifica onde começa a primeira ocorrência. As posições são iniciadas em zero; portanto, uma substring encontrada logo no início tem posição 0. Quando ela não existe, o retorno é false e a posição é -1, mantendo a ausência diferente de uma ocorrência no começo. Essa combinação facilita tanto a leitura humana quanto a aplicação de uma condição por software. A operação procura uma substring literal e contínua. Espaços, pontuação e caracteres repetidos são tratados como texto comum, e não como padrões, então não é preciso escapar símbolos de expressão regular. Se a mesma substring ocorrer várias vezes, apenas a primeira posição será informada. Esse comportamento é especialmente útil em validações cujo objetivo é saber se um marcador esperado aparece e onde uma análise posterior poderia começar. Uma substring vazia é rejeitada porque toda string tecnicamente a contém, o que produziria um resultado surpreendente e pouco útil.

Escolha se as letras maiúsculas devem fazer diferença

A opção case_sensitive usa true como padrão. Nesse modo, letras maiúsculas e minúsculas precisam coincidir exatamente: procurar “Ready” não encontra “ready”. A correspondência exata é adequada para identificadores, marcadores de protocolo, códigos de produto e conteúdos em que a capitalização tem significado. Defina a opção como false quando você quiser uma verificação textual prática que considere essas variantes equivalentes, como ao procurar uma palavra de status em observações digitadas por usuários ou conferir se um título contém uma frase. O modo sem distinção normaliza de maneira consistente o texto de origem e a substring antes de localizar a primeira ocorrência, enquanto a posição retornada continua se referindo ao texto original. A capacidade não remove espaços nas extremidades nem altera a pontuação, portanto esses elementos permanecem significativos. Ela também não faz equivalência de acentos, radicalização, transliteração, comparação aproximada ou detecção de palavra inteira. Por exemplo, a busca por “cat” pode encontrar as três primeiras letras de “catalog”. Regras restritas mantêm cada resultado reproduzível e evitam pressupostos linguísticos silenciosos.

Use a posição com segurança em fluxos de validação

Um fluxo típico envia um valor candidato, verifica contains e escolhe um caminho sem precisar interpretar o campo numérico. Quando existe correspondência, position pode apoiar diagnósticos, prévias ou uma etapa posterior de análise. Por exemplo, uma rotina de importação pode confirmar que um cabeçalho inclui um token obrigatório e registrar onde ele começa; um teste pode verificar se um texto gerado contém uma frase aprovada; ou uma ferramenta de suporte pode detectar um marcador conhecido em uma linha de log colada. Sempre trate a posição retornada como um índice de string do JavaScript, medido em unidades de código UTF-16. Em textos latinos comuns, isso corresponde à contagem habitual de caracteres, mas alguns emojis e símbolos Unicode menos frequentes ocupam duas unidades. A capacidade retorna deliberadamente o índice nativo da plataforma para manter navegador e API idênticos e permitir o uso direto com métodos de recorte do JavaScript. Esta é uma busca literal, não um higienizador de segurança nem um classificador de conteúdo. Valide a estrutura separadamente para formatos sensíveis e use um analisador específico quando limites, escapes ou múltiplas ocorrências forem importantes.

Validar texto gerado

Confirme se uma mensagem gerada inclui um aviso obrigatório ou uma frase aprovada antes da publicação.

Verificar marcadores de importação

Confira se um cabeçalho ou registro colado contém o token esperado e informe onde a análise pode começar.

Testar rótulos e mensagens de status

Garanta que a saída do aplicativo contém um rótulo conhecido, com ou sem distinção entre maiúsculas.

O que o resultado contém?

Ele retorna se há correspondência, a posição iniciada em zero da primeira ocorrência e a configuração de maiúsculas utilizada.

Qual posição é retornada quando não há correspondência?

A posição é -1 e contains é false. Uma ocorrência logo no início retorna a posição 0.

A busca diferencia maiúsculas por padrão?

Sim. Defina case_sensitive como false quando variantes em maiúsculas e minúsculas devam ser equivalentes.

A substring aceita expressões regulares?

Não. Ela é tratada como texto literal, então pontuação e símbolos não possuem sintaxe de padrão.

Posso procurar uma substring vazia?

Não. Substrings vazias são rejeitadas porque sua correspondência universal raramente ajuda em uma validação.

Quanto custa uma solicitação API?

Cada solicitação API custa US$ 0,002. A mesma lógica determinística também pode ser executada no navegador.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/str/contains

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/str/contains \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Release candidate passed validation.","substring":"passed"}'
{
  "text": "Release candidate passed validation.",
  "substring": "passed"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.contains",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →