Compter uniquement les lettres
Hello, World! 123 — café Ωmega 🚀 compte 19 lettres : chiffres, espaces, ponctuation et emoji sont ignorés, tandis que le é et le Ω grec comptent comme toute autre lettre. Pratique pour les jeux de lettres, les fiches d'exercices et le contrôle de données. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- Hello, World! 123 — café Ωmega 🚀
- Nombre de lettres
- 19
Ce compteur fournit un total net des lettres alphabétiques présentes dans un texte. Il ignore les chiffres, espaces, retours à la ligne, signes de ponctuation, emoji, symboles monétaires, opérateurs mathématiques et autres signes : le contenu parasite ne gonfle donc pas le résultat. Contrairement à un contrôle limité à ASCII, il reconnaît les lettres Unicode, notamment les caractères latins accentués ainsi que les alphabets grec, cyrillique et arabe. Ce résultat convient aux jeux de lettres, exercices pédagogiques, contrôles éditoriaux, nettoyages de données et tests logiciels reproductibles. Le calcul est local et déterministe, sans réseau, hasard ni date.
Ce que comprend le total réservé aux lettres
Le résultat compte les caractères dont la catégorie générale Unicode est Lettre. Cette catégorie comprend les majuscules, minuscules, lettres de titre, lettres modificatives et caractères de systèmes d’écriture qui ne suivent pas l’alphabet anglais. Par exemple, é, le caractère grec Ω et le caractère arabe ك valent chacun une lettre.
Un accent combinatoire saisi séparément n’ajoute pas une lettre, car il appartient aux marques ; la lettre de base reste comptée. Les chiffres ne contribuent jamais au total, qu’ils figurent dans un code, près d’un mot ou seuls. Espaces, tabulations, sauts de ligne, virgules, points, apostrophes, guillemets, tirets, crochets, opérateurs, monnaies, emoji et ornements sont également ignorés.
Ce contrat ciblé rend le chiffre facile à interpréter dans les jeux, barèmes et assertions automatiques. Le texte original n’est ni transformé, ni normalisé, ni corrigé, ni renvoyé sous forme filtrée : il est analysé exactement comme vous l’avez transmis.
Saisir le texte et comprendre les cas limites
Elle peut contenir des phrases, plusieurs lignes, des codes, de la ponctuation ou des symboles ; inutile de les retirer puisque le compteur les saute automatiquement. Tableaux, objets, booléens et nombres sont refusés au lieu d’être convertis silencieusement. L’algorithme parcourt les points de code Unicode, évitant de scinder un caractère du plan supplémentaire, puis applique la propriété Lettre standard.
Il ne devine aucune langue, ne consulte aucun dictionnaire et ignore la casse. Sans réseau, heure courante, hasard ni état mutable, une entrée identique produit toujours la même sortie.
Exploiter un total net dans les jeux et les analyses
Un décompte limité aux lettres est utile lorsque la présentation et les caractères accessoires ne doivent pas modifier la mesure. Les créateurs de jeux peuvent comparer la longueur des indices malgré leur numérotation, leurs espaces et leur ponctuation, sans fabriquer d’abord une copie nettoyée. Les enseignants peuvent vérifier des exercices d’alphabet, préparer des corrigés reproductibles et illustrer la différence entre lettres et caractères.
Les équipes éditoriales et de recherche peuvent mesurer le contenu alphabétique d’étiquettes, réponses, titres ou données importées contenant des identifiants. Dans un nettoyage de données, un zéro sur un champ non vide révèle une ligne exclusivement numérique ou symbolique. Cet outil ne compte ni mots, syllabes, graphèmes, voyelles, consonnes, ni tous les caractères visibles, et ne supprime aucun contenu.
Cas d’usage
Contrôler des contenus de jeu
Mesurez uniquement la matière alphabétique jouable des indices, expressions et réponses, sans numéros ni ponctuation.
Auditer des données mixtes
Évaluez la part alphabétique des libellés, enquêtes et enregistrements importés contenant chiffres ou symboles.
Questions fréquentes
Les lettres accentuées et étrangères sont-elles comptées ?
Oui. La propriété Unicode Lettre couvre les caractères latins accentués et les lettres de nombreux autres systèmes d’écriture.
Les chiffres, espaces et signes sont-ils inclus ?
Non. Chiffres, espaces, ponctuation, emoji, monnaies, opérateurs mathématiques et autres symboles sont ignorés.
Le résultat peut-il être zéro ?
Oui. Un texte fait uniquement de chiffres, d'espaces, de ponctuation ou d'emoji ne contient aucune lettre et donne zéro, ce qui est souvent la réponse attendue lors d'un contrôle de données. Un texte entièrement vide est en revanche refusé.
Les majuscules et les minuscules comptent-elles pareil ?
Oui, la casse n'a aucun effet : A et a ajoutent chacune une lettre. Le compteur vérifie seulement si un caractère est une lettre, dans n'importe quel alphabet, et ignore tout le reste.
Un accent saisi séparément compte-t-il comme une lettre ?
Non. Quand l'accent est saisi comme une marque à part, cette marque n'est pas une lettre et n'ajoute rien ; la lettre qui le porte compte normalement. Le total reste donc le même, quelle que soit la façon de taper l'accent.
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/char-count-letters-only \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World! 123"}'const res = await fetch("https://api.kit.forhosting.com/str/char-count-letters-only", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, World! 123"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/char-count-letters-only",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, World! 123"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/char-count-letters-only", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, World! 123"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, World! 123"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/char-count-letters-only", 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": "Hello, World! 123"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.char_count_letters_only",
"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
Utilisez l’outil web ou appelez l’API pour $0.002 par requête réussie lorsque vous devez automatiser cette règle.
Ce que comprend le total réservé aux lettres
La réponse contient volontairement un unique letter_count et une étiquette de méthode fixe, sans mélanger mots, octets, voyelles ou nombre total de caractères.
Saisir le texte et comprendre les cas limites
Placez la source dans le champ obligatoire text sous forme de chaîne JSON, ou collez-la dans le contrôle web correspondant. Une chaîne vide déclenche invalid_input afin qu’un envoi accidentel ne passe pas pour un zéro significatif. En revanche, une chaîne non vide composée uniquement d’espaces, chiffres, signes ou emoji est valide et renvoie letter_count égal à zéro. L’entrée est limitée à cent mille caractères JavaScript pour borner l’exécution dans le navigateur et le Worker.
Exploiter un total net dans les jeux et les analyses
Le navigateur convient aux contrôles ponctuels ; chaque appel API réussi coûte $0.002 et exécute le même algorithme.
Cas d'intégration
Créer des tests déterministes
Produisez des totaux Unicode stables pour validateurs, fixtures de référence, logiciels pédagogiques et CI.
Questions techniques
Quel est le prix du compteur de lettres uniquement ?
Son utilisation dans le navigateur est gratuite. Une requête API réussie coûte $0.002 ; toute entrée incorrecte est refusée.
Un résultat valide peut-il être nul ?
Oui. Une chaîne non vide sans lettre renvoie letter_count égal à zéro. Une chaîne vide constitue une entrée invalide.
L’outil renvoie-t-il le texte débarrassé des autres caractères ?
Non. Il fournit un letter_count numérique et l’étiquette de méthode, sans modifier ni restituer une version filtrée du texte.