Compter les occurrences d’un caractère précis dans un texte
Ce compteur indique précisément combien de fois un caractère choisi apparaît dans un texte.
Lancer gratuitement
Saisissez votre contenu, sélectionnez une seule lettre, un chiffre, un signe, une espace, un symbole ou un emoji, puis décidez si les majuscules et minuscules doivent être distinguées. Vous obtenez un nombre direct, sans syntaxe de motif ni règle cachée sur les mots. L’outil convient à la révision, au contrôle de données, aux exercices pédagogiques, aux audits de format et aux petites automatisations.
Comptez un caractère sans ambiguïté de motif
Un compteur général mesure toute la longueur, alors que de nombreuses tâches concernent un signe précis. Vous pouvez vérifier des zéros, des virgules ou des lettres. L’outil parcourt le texte et additionne les correspondances littérales : point, astérisque et crochet ne deviennent jamais des commandes d’expression régulière. Espaces, sauts de ligne, lettres accentuées et emojis sont admis si la cible contient un seul caractère Unicode. Un texte vide renvoie zéro. La réponse rappelle la cible et le mode de casse afin de préserver le contexte.
Choisissez la casse exacte ou indifférenciée
La correspondance exacte est appliquée par défaut : A et a sont donc comptés séparément. Désactivez cette distinction lorsque la capitalisation n’est pas pertinente. Cette option ne supprime pas les accents, ne normalise pas la ponctuation et ne fusionne pas des symboles visuellement proches. L’algorithme parcourt les points de code Unicode, ce qui permet de compter un emoji supplémentaire comme une seule cible. Pour les écritures sans variantes de casse, les deux modes donnent généralement le même résultat.
Exploitez le résultat dans vos contrôles
Les éditeurs peuvent vérifier guillemets et tirets, les développeurs inspecter des séparateurs, et les enseignants valider des exercices de fréquence. Une équipe de données peut examiner un délimiteur avant l’analyse. La réponse compacte se compare facilement à un seuil attendu. Une requête API coûte $0.002, tandis que l’exécuteur du navigateur convient aux contrôles interactifs. Le calcul ne consulte aucune source externe et ne dépend ni du hasard ni de l’heure. Fournissez toujours un seul caractère ; un mot ou une sous-chaîne produit une erreur explicite.
Cas d’usage
Auditer des délimiteurs
Comptez virgules, tabulations, barres verticales ou points-virgules avant de configurer un analyseur.
Vérifier des exercices
Mesurez la fréquence d’une lettre en regroupant ou séparant les majuscules selon le besoin.
Valider une mise en forme
Confirmez le nombre attendu de guillemets, puces, espaces ou symboles dans un modèle.
Questions fréquentes
Quel est le tarif ?
Chaque requête API coûte $0.002. L’exécuteur du navigateur convient aux contrôles interactifs.
Puis-je compter un mot ou une sous-chaîne ?
Non. La cible doit être exactement un caractère Unicode ; une cible plus longue provoque une erreur d’entrée.
Les majuscules correspondent-elles aux minuscules ?
Seulement si case_insensitive vaut true. Par défaut, elles sont comptées séparément.
La cible peut-elle être une espace ou un emoji ?
Oui. Toute cible représentée par un point de code Unicode est acceptée.
Que devient un texte vide ?
Il est valide et renvoie zéro si le caractère cible est valide.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
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)Exemple de requête
{
"text": "Banana bread",
"character": "a"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.count_specific_character",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 100000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |