Compter les occurrences d’un caractère précis dans un texte
Dans « Banana bread », la lettre a apparaît 4 fois. Choisissez n'importe quel caractère, d'une virgule à un emoji, et décidez si majuscules et minuscules comptent comme la même lettre. Vous obtenez un décompte direct, sans syntaxe à apprendre. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Banana bread
- Caractère
- a
- Quantité
- 4
Ce compteur indique précisément combien de fois un caractère choisi apparaît dans un texte. 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.
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
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.
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.
Le comptage distingue-t-il majuscules et minuscules ?
Oui, par défaut : le A majuscule et le a minuscule sont deux caractères différents. Activez l'option sans distinction quand cela n'a pas d'importance, par exemple pour savoir combien de fois une lettre apparaît, même en début de phrase.
Un point ou un astérisque servent-ils de motif spécial ?
Non. Le caractère est pris tel quel : un point compte les points, un astérisque les astérisques et un crochet les crochets. Aucune syntaxe à apprendre, seul ce que vous saisissez est compté.
Outils associés
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. |
Notes techniques
Exploitez le résultat dans vos contrôles
Une requête API coûte $0.002, tandis que l’exécuteur du navigateur convient aux contrôles interactifs.
Questions techniques
Quel est le tarif ?
Chaque requête API coûte $0.002. L’exécuteur du navigateur convient aux contrôles interactifs.
Les majuscules correspondent-elles aux minuscules ?
Seulement si case_insensitive vaut true. Par défaut, elles sont comptées séparément.