ForHosting KIT · Texto e IA

Posición de una subcadena

En «The kit parses logs: ERROR at line 12, then INFO, then ERROR again.» el primer ERROR está en el índice 21, línea 1, columna 22, y termina antes del 26. Los puntos y corchetes se buscan como texto normal. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Calcular
ERROR
Obtiene
Índice
21
Inicio
0
Longitud
67
Longitud de la búsqueda
5

Localizar la primera aparición de una frase es el primer paso de casi cualquier pipeline de texto: usted sitúa un marcador y después recorta, analiza o resalta desde ese índice de caracteres. Esta herramienta de posición de subcadena toma su texto de origen y un término de búsqueda no vacío y devuelve el índice de caracteres con base cero de la primera coincidencia literal, además de si se encontró, el desplazamiento final exclusivo y la línea y columna con base uno para saltar al hallazgo en un editor. El start opcional permite reanudar tras una coincidencia previa. La coincidencia opcional sin mayúsculas cubre borradores mixtos. Los términos de búsqueda vacíos fallan con entrada inválida para que los trabajos masivos nunca traten la cadena vacía como coincidencia en cada desplazamiento.

Qué significa hallar la posición de una subcadena y cuándo usarla

Hallar la posición de una subcadena significa recorrer la cadena de origen de izquierda a derecha —o desde un desplazamiento start opcional—, detenerse en la primera coincidencia literal no solapada de un término de búsqueda e informar el índice de caracteres de ese hallazgo para que un paso posterior recorte, analice o resalte desde ahí.

La coincidencia es literal: si busca un punto, un paréntesis o un corchete, esos caracteres son texto plano, no sintaxis de expresión regular, de modo que la herramienta permanece predecible para no desarrolladores y para pipelines que no deben sorprenderse con caracteres especiales. Prefiera esta calculadora cuando la intención de búsqueda sea hallar la posición de una subcadena, el índice de una cadena, localizar la primera ocurrencia u obtener el desplazamiento de un token.

Las fuentes típicas incluyen líneas de registro donde necesita el primer marcador ERROR, fragmentos de configuración donde hay que hallar una clave antes de cortar un valor, HTML o markdown donde un delimitador de encabezado inicia una sección, y celdas CSV o TSV donde empieza un delimitador o un campo entre comillas. La coincidencia opcional sin distinción de mayúsculas pliega el caso de las letras para capturar el primer Hello, HELLO o hello sin listar variantes.

No use este producto cuando necesite reescribir la coincidencia —eso es una intención SEO distinta cubierta por herramientas de reemplazar la primera y de buscar y reemplazar— ni cuando necesite listar cada ocurrencia, grupos de captura, lookarounds o un motor regex multilínea.

Localizar el primer marcador de registro o error

Analizadores y herramientas de soporte hallan el primer ERROR, TODO o delimitador y después recortan o resaltan desde ese índice de caracteres sin reescribir el archivo.

Reanudar un recorrido tras un hallazgo previo

Envíe el end exclusivo anterior como start para recorrer la segunda ocurrencia y las posteriores una a una en plantillas, registros y archivos de configuración.

¿El índice es con base cero o con base uno?

index es con base cero, el mismo contrato que String indexOf de JavaScript, de modo que puede pasarlo a slice. Cuando hay coincidencia, position es el número de carácter con base uno que se espera en un editor, y line y column también son con base uno.

¿Qué ocurre si el término de búsqueda está vacío?

Una cadena find vacía se rechaza para que los pipelines nunca traten la cadena vacía como coincidencia en cada desplazamiento; esos fallos no se cobran.

¿Es gratuita la herramienta de posición de una subcadena?

La herramienta del navegador se ejecuta gratis en su dispositivo.

¿Find admite expresiones regulares?

No. El término de búsqueda se trata siempre como cadena literal. Puntos, corchetes y otros metacaracteres de regex coinciden consigo mismos para que el comportamiento sea predecible en editores y trabajos masivos.

¿Cómo encuentro la segunda aparición?

Repita la búsqueda indicando como posición de inicio el final de la primera coincidencia, 26 en el ejemplo. La búsqueda empieza ahí y encuentra el siguiente ERROR sin volver a recorrer el principio del texto.

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.

POSThttps://api.kit.forhosting.com/str/index-of

¿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.

curl -X POST https://api.kit.forhosting.com/str/index-of \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"The kit parses logs: ERROR at line 12, then INFO, then ERROR again.","find":"ERROR"}'
{
  "text": "The kit parses logs: ERROR at line 12, then INFO, then ERROR again.",
  "find": "ERROR"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.index_of",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_chars100000
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Qué significa hallar la posición de una subcadena y cuándo usarla

Un término de búsqueda vacío lanza invalid_input, lo que protege los trabajos masivos del error clásico de tratar la cadena vacía como coincidencia entre cada carácter.

Contrato de entrada, rechazo de búsqueda vacía y lectura de la respuesta

Cuando hay coincidencia la respuesta también incluye position como el índice humano con base uno, end como el desplazamiento final exclusivo, line y column como coordenadas de editor con base uno, y matched como el recorte exacto en el hallazgo para que una búsqueda sin mayúsculas siga mostrando la capitalización original. Una coincidencia ausente es un éxito válido: found es false e index es menos uno, el resultado honesto para un haystack que no contiene la aguja. Use index con slice cuando un script recorte el resto; use line y column cuando una interfaz deba desplazarse al hallazgo; use found solo cuando una puerta solo deba saber si el marcador existe. Envíe un cuerpo JSON con el campo de cadena obligatorio text fijado a la fuente que desea examinar y el campo de cadena obligatorio find fijado a un término de búsqueda no vacío. El start opcional vale cero por defecto y es el índice UTF-16 con base cero donde comienza el recorrido, de modo que puede reanudar tras un hallazgo previo sin volver a examinar el prefijo. case_insensitive opcional vale false por defecto para mayúsculas exactas; póngalo en true cuando el primer borrador de mayúsculas mixtas deba coincidir igual. Se aceptan alias para clientes antiguos: text también como input, value, s, content, source o haystack; find como search, needle, substring, query o pattern; start como from, from_index u offset; case_insensitive como ignore_case, ci o insensitive. Si falta text, falta find, hay un valor que no es cadena, un start negativo o no entero, o find es la cadena vacía, se lanza invalid_input con un mensaje que nombra el problema, y esos fallos no se cobran en la API prepago. La longitud se limita a cien mil caracteres para que los recorridos del navegador y del Worker queden acotados. En éxito la respuesta siempre incluye index como el desplazamiento de caracteres con base cero o menos uno si no hay ninguno, found como booleano, text y find tal como se aplicaron, start y case_insensitive tal como se usaron, length y find_length como longitudes en caracteres, y method siempre igual a index_of.

Uso de la API, precios, flujos de trabajo y límites prácticos

Llame a la herramienta gratuita en el navegador de posición de subcadena para comprobaciones de pegado, demos de clase, control de calidad de contenido y localización rápida sin instalar una utilidad de escritorio ni escribir fragmentos indexOf en cada lenguaje. Un flujo típico halla el primer marcador de sección, lee index y end y recorta el encabezado que sigue. Otro flujo recorre hallazgos sucesivos enviando el end anterior como el siguiente start, lo que localiza la segunda ocurrencia y las posteriores sin una herramienta de reemplazar todo. No espere omisión consciente de etiquetas HTML, campos de fusión de documentos estructurados, índices de clústeres de grafemas ni colación específica de locale más allá de la coincidencia estándar sin mayúsculas: esos son problemas distintos. Use la API prepago del KIT cuando un CMS, un trabajo ETL, un backend de formularios, un servicio de soporte, un analizador o un cliente móvil necesiten el mismo localizador bajo saldo a $0.002 por ítem correcto; los fallos de validación nunca consumen saldo tras el rechazo del motor. Combine este endpoint con reemplazar la primera cuando un paso posterior deba reescribir solo ese hallazgo, o con buscar y reemplazar cuando deba cambiar cada coincidencia, pero mantenga la posición de subcadena como landing propia para no mezclar la intención SEO con editores que mutan el texto. Los autores que envían SDK pueden documentar text y find como campos obligatorios y mostrar un origen con varias coincidencias donde solo se devuelve el primer índice más un ejemplo de error de find vacío para que los integradores vean ambos lados del contrato.

QA y fixtures deterministas

Los arneses de prueba fijan index, found, line y column para que un refactor que pase a reemplazo, regex o coincidencia de find vacío falle la integración continua de inmediato.

¿Cómo hallo la posición de una subcadena?

Envíe JSON con text en su cadena de origen y find en un término de búsqueda no vacío. El index de la respuesta es el desplazamiento de caracteres con base cero de la primera coincidencia, o -1 si no hay ninguna. start y case_insensitive opcionales controlan dónde y cómo corre el recorrido.

Ver la documentación completa del KIT →