Contar ocorrências de um caractere específico no texto
Este contador informa exatamente quantas vezes um caractere escolhido aparece em um texto.
Executar grátis
Insira qualquer conteúdo, selecione uma única letra, número, sinal, espaço, símbolo ou emoji e decida se maiúsculas e minúsculas devem ser diferenciadas. O resultado é uma contagem direta, sem sintaxe de padrões nem regras ocultas sobre palavras. Ele é útil para edição, verificações de dados, exercícios escolares, auditorias de formatação e pequenas automações nas quais o total de caracteres não responde à questão específica.
Conte um caractere sem surpresas de padrões
Um contador geral mede o comprimento inteiro, mas muitas tarefas tratam de um sinal específico. Você pode verificar zeros, vírgulas ou letras. A ferramenta percorre o texto e soma cada correspondência literal: ponto, asterisco ou colchete nunca vira comando de expressão regular. Espaços, quebras de linha, letras acentuadas e emojis também são aceitos quando o alvo contém um único caractere Unicode. Texto vazio retorna zero. A resposta repete o alvo e o modo de maiúsculas para preservar o contexto do resultado.
Escolha correspondência exata ou sem distinção de caixa
A correspondência exata é o padrão e preserva a escrita: A e a são contados separadamente. Ative a opção sem distinção quando a capitalização não importar. Ela não remove acentos, normaliza pontuação nem une símbolos visualmente semelhantes. O algoritmo percorre pontos de código Unicode, portanto um emoji suplementar pode ser contado como um único alvo. Para escritas e símbolos sem variantes de caixa, os dois modos normalmente produzem o mesmo total.
Use o resultado em verificações e automações
Editores podem revisar aspas ou travessões; desenvolvedores, inspecionar delimitadores; e professores, validar exercícios de frequência. Equipes de dados podem examinar um separador antes de analisar um campo. A resposta compacta facilita comparar o total com limites esperados. Cada chamada da API custa US$ 0,002; o executor do navegador atende verificações interativas. O cálculo não consulta fontes externas nem depende de aleatoriedade ou horário. Envie sempre um único caractere: palavras e substrings geram um erro de entrada claro.
Casos de uso
Auditar delimitadores
Conte vírgulas, tabulações, barras verticais ou ponto e vírgula antes de configurar um analisador.
Verificar exercícios
Meça a frequência de uma letra incluindo ou separando maiúsculas conforme necessário.
Validar formatação
Confirme a quantidade esperada de aspas, marcadores, espaços ou símbolos em um modelo.
Perguntas frequentes
Quanto custa?
Cada chamada da API custa US$ 0,002. O executor do navegador atende verificações interativas.
Posso contar uma palavra ou substring?
Não. O alvo deve ser exatamente um caractere Unicode; alvos maiores geram erro de entrada inválida.
Maiúsculas correspondem a minúsculas?
Somente quando case_insensitive é true. Por padrão, elas são contadas separadamente.
O alvo pode ser espaço ou emoji?
Sim. Qualquer alvo representado por um ponto de código Unicode é aceito.
O que ocorre com texto vazio?
Ele é válido e retorna contagem zero quando o caractere alvo é válido.
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/text/count-specific-character \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Banana bread","character":"a"}'const res = await fetch("https://api.kit.forhosting.com/text/count-specific-character", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Banana bread",
"character": "a"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/count-specific-character",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Banana bread",
"character": "a"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/count-specific-character", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Banana bread","character":"a"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Banana bread","character":"a"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/count-specific-character", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "Banana bread",
"character": "a"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.count_specific_character",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_chars | 100000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |