Primera palabra del texto
De «Hello, world — this is a preview.» obtiene Hello, de 5 caracteres, y aparte el resto de la línea. Un título entre comillas como «Autumn notes» da Autumn, y ...first-word! da first-word. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello, world — this is a preview.
- Primera palabra
- Hello
- Longitud
- 5
- Original
- Hello, world — this is a preview.
- Índice inicial
- 0
Obtener la primera palabra de una cadena desordenada es un trabajo pequeño que aparece en todas partes: slugs de título, vistas previas de notificación, analizadores de registro y el primer token de una línea de órdenes. Esta capacidad lee su texto, ignora los espacios y la puntuación que tan a menudo envuelven un encabezado o una frase citada, y devuelve la primera palabra real junto con su longitud y el resto sobrante. Los espacios iniciales, tabulaciones, puntos suspensivos, comillas y comas finales no forman parte de la respuesta, de modo que Hello, world produce Hello y no un token rellenado o puntuado.
Cómo extrae la primera palabra y qué cuenta como palabra
La intención de búsqueda de extraer la primera palabra de un texto es más estrecha que un tokenizador completo o una lista de palabras únicas: la gente quiere el token inicial de un título, una notificación, una línea de registro o una orden, limpio de la decoración que suele rodearlo.
Esta capacidad define una palabra como una racha máxima de letras Unicode, signos combinantes y dígitos, unida de forma opcional por un apóstrofo o un guion internos para que contracciones como don't y compuestos como well-known sigan siendo un solo token. Espacios, tabulaciones, saltos de línea, comillas, comas, puntos suspensivos, corchetes y el resto de la puntuación nunca forman parte de ese token. Pueden aparecer antes de la palabra, después o en ambos lados; se recortan en lugar de devolverse.
La frase Hello, world produce por tanto Hello, un título entre comillas como "Autumn notes" produce Autumn, y una línea que empieza con puntos suspensivos como ...first-word! more text produce first-word. La longitud es la longitud en caracteres de la forma superficial hallada, de modo que café cuenta cuatro caracteres; si el acento va precompuesto o no es otro problema de búsqueda: el motor devuelve el fragmento que realmente estaba en la entrada.
Tras la primera coincidencia, el resto de la cadena se expone como remainder, con espacios recortados, de modo que un segundo análisis o una vista previa de la cláusula restante queda a un campo de distancia.
Qué puede hacer con ella
Vistas previas de notificaciones y tarjetas
Las interfaces de producto pegan un título o un mensaje y muestran la primera palabra limpia como distintivo compacto, en lugar de un token rellenado o puntuado.
Semillas de slugs y nombres de archivo
Los editores toman la palabra inicial de un titular como semilla de slug o raíz de archivo y luego aplican sus propias reglas de minúsculas o guiones.
Analizadores de órdenes y registros
Los scripts leen el primer token de una línea de órdenes o de un mensaje de registro tras las comillas envolventes y enrutan según ese verbo o nombre de nivel.
Preguntas frecuentes
¿La puntuación circundante se queda en la primera palabra?
No. La puntuación y los espacios iniciales y finales se recortan. Hello, pasa a Hello y un Autumn entre comillas pasa a Autumn. Los guiones y apóstrofos internos se conservan.
¿Qué cuenta como una palabra?
Una racha de letras Unicode, signos combinantes o dígitos, unida de forma opcional por un apóstrofo o un guion internos. Así don't y well-known siguen siendo un solo token.
¿Qué muestra el resultado además de la palabra?
Su longitud en caracteres y el resto, es decir, el texto que sigue a la palabra sin espacios en los extremos. Para Hello, world es «, world — this is a preview.», listo para un segundo análisis o una vista previa.
¿Qué pasa si el texto no tiene ninguna palabra?
Se rechaza con un mensaje claro. Un texto vacío, solo con espacios o solo con signos de puntuación no puede dar una palabra, porque una palabra necesita al menos una letra o un dígito.
¿Cómo se usa con líneas de registro u órdenes?
Los scripts leen la primera palabra de una orden o de un mensaje de registro, aunque vaya entre comillas, y deciden qué hacer según ese verbo o nivel. Las comillas y espacios que la rodean nunca forman parte de la respuesta.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"text": "Hello, world — this is a preview."
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.first_word",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chars | 100000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La misma función determinista impulsa la herramienta gratuita del navegador y la API prepago, así que una vista previa de CMS, un ayudante de slugs y una prueba unitaria fijan el mismo JSON para la misma entrada. Las cadenas sin palabras —vacías, solo espacios o solo puntuación— fallan con invalid_input y no se facturan. Las llamadas API correctas cuestan $0.002 por ítem.
Contrato de entrada, campos de respuesta y texto vacío o sin palabras
Una cadena vacía, solo espacios o solo puntuación también falla, porque no se halló ninguna palabra con letras o dígitos: el mensaje indica que text debe contener al menos una palabra y que espacios y puntuación solos no bastan. Remainder se omite cuando la entrada es una sola palabra, nunca aparece como null. Envíe por POST un cuerpo JSON con el campo de cadena obligatorio text fijado al pasaje que desea analizar. Se aceptan los alias input, value, s, content y body para que generadores de formularios y clientes antiguos publiquen con nombres familiares. El valor debe ser una cadena; objetos, arrays, booleanos y números fallan con invalid_input nombrando el problema. Las cargas más largas que el tope de caracteres documentado fallan del mismo modo para que una sola petición no monopolice la memoria del Worker. Esos fallos de validación no se facturan en la API prepago. En caso de éxito la respuesta informa first_word como el token inicial limpio, length como su recuento de caracteres, original como eco de la entrada para tablas de interfaz, start_index y end_index como los desplazamientos de ese token dentro de original, remainder como la cadena restante tras la palabra con espacios exteriores quitados, y method siempre en first_word para que los clientes ramifiquen sin olfatear formas. Ejemplo: Hello, world — this is a preview. produce first_word Hello, length cinco, start_index cero y un remainder que empieza con una coma y el resto de la frase. Una línea rellenada con dos espacios, tres puntos, well-known y una frase produce first_word well-known porque el guion es interno y la puntuación inicial no lo es.
Vistas previas, slugs, canalizaciones de análisis, precio y límites prácticos
Llame a la herramienta gratuita en el navegador para obtener la primera palabra cuando necesite un token inicial limpio para la vista previa de una tarjeta, la raíz de un nombre de archivo, un distintivo de chat o un analizador de órdenes que deba ignorar comillas envolventes. Las canalizaciones editoriales usan la misma llamada para convertir un titular en una etiqueta breve sin arrastrar la coma o la raya al distintivo. No espere lematización, eliminación de palabras vacías ni detección de idioma: son búsquedas y contratos distintos. Los desarrolladores conectan la API prepago KIT cuando un CMS, un cliente móvil o un trabajo por lotes necesitan el mismo contrato con saldo a $0.002 por ítem correcto; los fallos de validación nunca consumen saldo tras el rechazo del motor. Un flujo típico inserta un título, lee first_word y lo pasa a minúsculas en local si un ayudante de slugs necesita una semilla. Combine este endpoint con una herramienta de slugs o de palabra más larga cuando el siguiente paso sea una URL o una comprobación tipográfica, pero conserve get-first-word como página propia para no mezclar la intención del token inicial con la conversión de slugs de toda la cadena, recuentos de palabras o extracción de palabras clave.
Preguntas técnicas
¿Cómo se obtiene la primera palabra de una cadena de texto?
Envíe JSON con text fijado a su pasaje. La respuesta incluye first_word, su longitud, los desplazamientos inicial y final, y remainder con lo que sigue a esa palabra.
¿Qué ocurre si el texto no tiene palabras?
La petición falla con invalid_input. Las cadenas vacías y la entrada solo de puntuación se rechazan y no se facturan en la API prepago.
¿Cuánto cuesta el extractor de la primera palabra?
La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada correcta; la entrada no válida no se factura.