Premier mot du texte
De « Hello, world — this is a preview. », vous obtenez Hello, long de 5 caractères, et la suite de la ligne à part. Un titre entre guillemets comme « Autumn notes » donne Autumn, et ...first-word! donne first-word. 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 — this is a preview.
- Premier mot
- Hello
- Longueur
- 5
- Original
- Hello, world — this is a preview.
- Indice de début
- 0
Tirer le premier mot d'une chaîne encombrée est un petit travail qui revient partout : slugs de titre, aperçus de notification, analyseurs de journal et premier jeton d'une ligne de commande. Cette capacité lit votre texte, ignore les espaces et la ponctuation qui entourent si souvent un en-tête ou une phrase citée, et renvoie le premier mot réel avec sa longueur et le reste. Espaces initiaux, tabulations, points de suspension, guillemets et virgules finales ne font pas partie de la réponse, si bien que Hello, world donne Hello plutôt qu'un jeton rembourré ou ponctué.
Comment l'extraction du premier mot fonctionne et ce qui compte comme mot
L'intention de recherche pour extraire le premier mot d'un texte est plus étroite qu'un tokeniseur complet ou une liste de mots uniques : les gens veulent le jeton d'ouverture d'un titre, d'une notification, d'une ligne de journal ou d'une commande, débarrassé du décor qui l'entoure d'habitude.
Cette capacité définit un mot comme une suite maximale de lettres Unicode, de signes combinants et de chiffres, éventuellement joints par une apostrophe ou un trait d'union internes afin que des contractions telles que don't et des composés tels que well-known restent un seul jeton. Espaces, tabulations, sauts de ligne, guillemets, virgules, points de suspension, crochets et le reste de la ponctuation ne font jamais partie de ce jeton. Ils peuvent précéder le mot, le suivre, ou les deux ; ils sont retirés plutôt que renvoyés.
La phrase Hello, world donne donc Hello, un titre entre guillemets tel que "Autumn notes" donne Autumn, et une ligne qui commence par des points de suspension tels que ...first-word! more text donne first-word. La longueur est la longueur en caractères de la forme de surface trouvée, si bien que café compte quatre caractères ; que l'accent soit précomposé ou non est un autre problème de recherche : le moteur renvoie la tranche qui se trouvait réellement dans l'entrée.
Après la première correspondance, le reste de la chaîne est exposé comme remainder, espaces retirés, ainsi une seconde analyse ou un aperçu de la clause restante n'est qu'à un champ.
Cas d’usage
Aperçus de notifications et de cartes
Les interfaces produit collent un titre ou un message et affichent le premier mot nettoyé comme badge compact, plutôt qu'un jeton rembourré ou ponctué.
Graines de slugs et de noms de fichier
Les rédacteurs prennent le mot d'ouverture d'un titre comme graine de slug ou racine de fichier, puis appliquent leurs propres règles de minuscules ou de traits d'union.
Analyseurs de commandes et de journaux
Les scripts lisent le premier jeton d'une ligne de commande ou d'un message de journal après les guillemets enveloppants, puis aiguillent selon ce verbe ou ce nom de niveau.
Questions fréquentes
La ponctuation environnante reste-t-elle sur le premier mot ?
Non. La ponctuation et les espaces de tête et de queue sont retirés. Hello, devient Hello, et un Autumn entre guillemets devient Autumn. Traits d'union et apostrophes internes restent.
Qu'est-ce qui compte comme un mot ?
Une suite de lettres Unicode, de signes combinants ou de chiffres, éventuellement jointe par une apostrophe ou un trait d'union internes. Ainsi don't et well-known restent un seul jeton.
Que montre le résultat en plus du mot ?
Sa longueur en caractères et la suite, c'est-à-dire le texte qui vient après le mot, sans espaces aux extrémités. Pour Hello, world, c'est « , world — this is a preview. », prêt pour une deuxième lecture ou un aperçu.
Que se passe-t-il si le texte ne contient aucun mot ?
Il est refusé avec un message clair. Un texte vide, composé seulement d'espaces ou seulement de ponctuation ne peut pas donner de mot, car un mot demande au moins une lettre ou un chiffre.
Comment l'utiliser avec des lignes de journal ou des commandes ?
Les scripts lisent le premier mot d'une commande ou d'un message de journal, même entre guillemets, puis choisissent quoi faire selon ce verbe ou ce niveau. Les guillemets et espaces autour ne font jamais partie de la réponse.
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/first-word \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world — this is a preview."}'const res = await fetch("https://api.kit.forhosting.com/str/first-word", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world — this is a preview."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/first-word",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world — this is a preview."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/first-word", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world — this is a preview."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world — this is a preview."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/first-word", 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 — this is a preview."
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.first_word",
"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
La même fonction déterministe alimente l'outil gratuit du navigateur et l'API prépayée, ainsi un aperçu CMS, un assistant de slugs et un test unitaire ancrent le même JSON pour la même entrée. Les chaînes sans mots — vides, espaces seuls ou ponctuation seule — échouent avec invalid_input et ne sont pas facturées. Les appels API réussis coûtent $0.002 par élément.
Contrat d'entrée, champs de réponse et texte vide ou sans mots
Une chaîne vide, uniquement des espaces ou uniquement de la ponctuation échoue aussi, car aucun mot portant des lettres ou des chiffres n'a été trouvé : le message indique que text doit contenir au moins un mot et que espaces et ponctuation seuls ne suffisent pas. Remainder est omis lorsque l'entrée est un seul mot, jamais envoyé comme null. Envoyez en POST un corps JSON avec le champ chaîne obligatoire text fixé au passage que vous souhaitez analyser. Les alias input, value, s, content et body sont acceptés afin que générateurs de formulaires et anciens clients publient sous des noms familiers. La valeur doit être une chaîne ; objets, tableaux, booléens et nombres échouent avec invalid_input en nommant le problème. Les charges plus longues que le plafond de caractères documenté échouent de la même façon afin qu'une seule requête ne monopolise pas la mémoire du Worker. Ces échecs de validation ne sont pas facturés sur l'API prépayée. En cas de succès, la réponse signale first_word comme le jeton d'ouverture nettoyé, length comme son nombre de caractères, original comme écho de l'entrée pour les tableaux d'interface, start_index et end_index comme les décalages de ce jeton dans original, remainder comme la chaîne restante après le mot avec les espaces extérieurs retirés, et method toujours à first_word pour que les clients se ramifient sans flairer les formes. Exemple : Hello, world — this is a preview. donne first_word Hello, length cinq, start_index zéro et un remainder qui commence par une virgule et le reste de la phrase. Une ligne rembourrée de deux espaces, trois points, well-known et une phrase donne first_word well-known parce que le trait d'union est interne et que la ponctuation initiale ne l'est pas.
Aperçus, slugs, pipelines d'analyse, tarif et limites pratiques
Appelez l'outil gratuit dans le navigateur pour obtenir le premier mot lorsque vous avez besoin d'un jeton d'ouverture propre pour l'aperçu d'une carte, la racine d'un nom de fichier, un badge de discussion ou un analyseur de commandes qui doit ignorer les guillemets enveloppants. Les pipelines éditoriaux utilisent le même appel pour transformer un titre en étiquette courte sans traîner la virgule ou le tiret cadratin dans le badge. Associez ce point de terminaison à un outil de slug ou de mot le plus long lorsque l'étape suivante est une URL ou un contrôle typographique, mais conservez get-first-word comme page dédiée afin de ne pas mêler l'intention du jeton d'ouverture à la conversion de slugs de toute la chaîne, aux décomptes de mots ou à l'extraction de mots-clés. N'attendez pas de racinisation, de suppression de mots vides ni de détection de langue : ce sont d'autres recherches et d'autres contrats. Les développeurs branchent l'API prépayée KIT lorsqu'un CMS, un client mobile ou un lot a besoin du même contrat sous solde à $0.002 par élément réussi ; les échecs de validation ne consomment jamais le solde après le rejet du moteur. Un flux typique colle un titre, lit first_word et le passe en minuscules localement si un assistant de slugs a besoin d'une graine.
Questions techniques
Comment obtenir le premier mot d'une chaîne de texte ?
Envoyez un JSON avec text fixé à votre passage. La réponse inclut first_word, sa longueur, les décalages de début et de fin, et remainder avec ce qui suit ce mot.
Que se passe-t-il si le texte n'a aucun mot ?
La requête échoue avec invalid_input. Les chaînes vides et l'entrée uniquement ponctuée sont rejetées et ne sont pas facturées sur l'API prépayée.
Combien coûte l'extracteur du premier mot ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.