Compter les occurrences d’un mot
Dans « Blue skies look blue, but blueberry is not blue. », le mot blue apparaît 3 fois : blueberry ne compte pas, car seuls les mots entiers comptent, et la casse est ignorée sauf demande contraire. Le total de 9 mots donne le contexte. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Blue skies look blue, but blueberry is not blue.
- Mot
- blue
- Quantité
- 3
- Total de mots
- 9
Comptez combien de fois un mot précis apparaît dans un texte sans inclure par erreur ses lettres au sein de mots plus longs. Ce compteur de mots entiers aide les rédacteurs à repérer les répétitions, les réviseurs à contrôler une terminologie imposée, les enseignants à examiner des travaux et les développeurs à valider du contenu généré. Par défaut, la casse est ignorée : Mot et mot participent donc au même total, tandis qu’un mode facultatif permet de les distinguer. Les lettres et chiffres Unicode sont pris en charge, y compris les mots dotés d’apostrophes internes. Le résultat indique aussi le nombre total de mots reconnus afin de contextualiser le décompte.
Principe du comptage des occurrences de mots entiers
La correspondance sur des mots entiers répond à une question plus précise et plus utile qu’une simple recherche de caractères. Si la cible est chat, une recherche de sous-chaîne pourrait aussi compter chat dans châtaigne, échafaudage ou achat, et fournir un résultat trompeur. Cet outil découpe d’abord le texte fourni en unités lexicales compatibles avec Unicode, puis compare chaque unité complète au mot demandé.
Les suites de lettres et de chiffres constituent des mots, et une apostrophe interne est conservée : les contractions et les noms comme don't ou O'Brien peuvent ainsi être comptés comme une seule unité. Les espaces, signes de ponctuation, sauts de ligne, tirets et autres séparateurs définissent les limites. L’algorithme parcourt le contenu de gauche à droite et augmente le résultat uniquement lorsqu’une unité complète correspond à la cible.
Il ne recherche pas de radical et ne fusionne pas les formes grammaticales ; éditer, édite, édité et édition restent distincts. Ce choix est volontaire, car les réviseurs et les contrôles automatisés ont généralement besoin d’un chiffre exact et explicable, plutôt que d’une approximation linguistique. Des entrées identiques donnent toujours une sortie identique, sans réseau, hasard, dictionnaire externe ni horloge.
Choix de la casse et préparation des données d’entrée
Envoyez text sous forme de chaîne non vide et word sous forme d’une seule unité. La cible ne peut comporter ni espace extérieur, ni virgule, ni guillemet, ni plusieurs mots ; le rejet de ces formes ambiguës évite de confondre un comptage de phrase avec un comptage de mot. Dans ce mode, BLEU, Bleu et bleu correspondent tous à la cible bleu après une conversion Unicode en minuscules.
La sortie restitue la cible originale sans la réécrire, afin que les interfaces affichent exactement ce que vous avez demandé. Le texte peut contenir plusieurs paragraphes et une ponctuation abondante, dans la limite déclarée de 100000 caractères. Un texte valide sans cible renvoie count égal à zéro ; ce zéro est un résultat utile, pas une erreur.
Avant d’automatiser une règle éditoriale, testez un exemple mêlant les casses et un mot plus long contenant la cible afin de confirmer que le mode choisi traduit bien votre politique.
Exploitation du résultat dans la révision et l’automatisation
Pour un contrôle rapide, collez un brouillon dans l’outil du navigateur, saisissez le mot-clé et consultez le nombre de mots entiers. L’exécution dans le navigateur convient aux textes de travail privés, car l’implémentation de niveau A utilise la même bibliothèque déterministe que le gestionnaire serveur. Un réviseur peut comparer les valeurs avant et après une réécriture, un système pédagogique peut vérifier qu’un mot de vocabulaire figure dans un exercice, et un test de modèle peut imposer qu’un terme obligatoire apparaisse au moins une fois.
Ne considérez pas un nombre élevé comme une preuve de qualité : selon le document, la répétition peut signaler une insistance, une conformité ou une rédaction maladroite. La correspondance exacte ne regroupe pas non plus pluriels, flexions, synonymes ou expressions ponctuées différemment. Si votre règle admet plusieurs formes, appelez la capacité pour chaque cible explicite, puis combinez les résultats dans votre application.
Conservez dans vos tests des exemples représentatifs de réussite et d’erreur de validation afin de détecter toute modification des règles de casse ou de limites avant la production.
Cas d’usage
Contrôle de répétition d’un mot-clé
Les rédacteurs comptent un mot-clé exact sans retenir les correspondances accidentelles dans des mots plus longs.
Audit de terminologie éditoriale
Les réviseurs vérifient la présence des termes imposés et comparent leur emploi entre plusieurs versions.
Tests automatisés de contenu
Les développeurs s’assurent que les pages générées contiennent un mot entier le nombre de fois attendu.
Questions fréquentes
Le mot chat correspond-il à achat ou châtaigne ?
Non. Le compteur compare des unités complètes et ignore une cible qui apparaît uniquement à l’intérieur d’un mot plus long.
Puis-je compter une expression de plusieurs mots ?
Non. Le champ word accepte exactement un mot. Utilisez une recherche d’expression lorsque les limites de plusieurs unités sont importantes.
Que se passe-t-il si le mot est absent ?
La requête réussit avec count égal à zéro. L’absence de correspondance constitue un résultat valide, et non une erreur d’entrée.
Blue avec une majuscule compte-t-il comme blue ?
Oui, par défaut la casse est ignorée, donc BLUE, Blue et blue correspondent tous. Activez le respect de la casse quand les majuscules ont un sens, par exemple pour distinguer US de us.
Les autres formes du mot sont-elles comptées aussi ?
Non. Les mots ne sont pas ramenés à leur racine, donc edit, edits, edited et editing sont quatre mots différents. Comptez chaque forme séparément si vous avez besoin de toutes.
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/str/count-word-occurrences \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Blue skies look blue, but blueberry is not blue.","word":"blue"}'const res = await fetch("https://api.kit.forhosting.com/str/count-word-occurrences", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Blue skies look blue, but blueberry is not blue.",
"word": "blue"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/count-word-occurrences",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Blue skies look blue, but blueberry is not blue.",
"word": "blue"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/count-word-occurrences", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Blue skies look blue, but blueberry is not blue.","word":"blue"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Blue skies look blue, but blueberry is not blue.","word":"blue"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/count-word-occurrences", 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": "Blue skies look blue, but blueberry is not blue.",
"word": "blue"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.count_word_occurrences",
"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
Le traitement est déterministe et local dans l’outil gratuit du navigateur ; chaque élément API réussi coûte $0.002.
Principe du comptage des occurrences de mots entiers
La réponse contient count, total_words, le mot transmis, le mode de casse et une indication de méthode.
Choix de la casse et préparation des données d’entrée
Par défaut, case_sensitive vaut false. Réglez case_sensitive sur true lorsque les capitales ont un sens, par exemple pour vérifier qu’un nom de produit respecte toujours sa graphie officielle ou pour distinguer un sigle d’un mot courant. Les champs absents, chaînes vides, cibles mal formées, options non booléennes et textes trop longs provoquent invalid_input. Des alias couvrent les noms d’intégration courants, mais les nouveaux clients devraient privilégier text, word et case_sensitive pour obtenir des types SDK et des libellés de formulaire plus clairs.
Exploitation du résultat dans la révision et l’automatisation
Dans un pipeline reproductible, appelez l’API au tarif de $0.002 par élément réussi et enregistrez le nombre avec la révision du document. Le champ total_words offre un contexte pour des ratios simples, mais cette capacité ne calcule pas la densité des mots-clés, ne classe pas tous les termes et ne recommande aucun seuil SEO. Ces analyses relèvent d’autres outils.
Questions techniques
La recherche tient-elle compte de la casse ?
Pas par défaut. Réglez case_sensitive sur true lorsque les variantes en majuscules et minuscules doivent être comptées séparément.
Quel est le prix d’une requête API ?
L’outil du navigateur est gratuit. Chaque élément API réussi consomme $0.002 de solde prépayé ; les entrées invalides sont refusées.