Ordenar líneas numéricamente por su valor
item 20, item 3, item 100 e item 11 vuelven como item 3, item 11, item 20 e item 100, ordenados por su valor y no por sus caracteres, que pondrían 100 antes que 20. Si lo prefiere, elija de mayor a menor. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- item 20 item 3 item 100 item 11
- Texto
- item 3 item 11 item 20 item 100
- Líneas
- item 3, item 11, item 20, item 100
- Valores
- 3, 11, 20, 100
- Cantidad
- 4
Ordene líneas numéricamente cuando el orden alfabético dé un resultado incorrecto. Una ordenación textual coloca 100 antes que 20 porque compara caracteres; esta capacidad extrae el primer número de cada línea y compara su valor real. Admite enteros con signo, decimales y notación científica, conserva cada línea completa y mantiene el orden original cuando dos claves numéricas coinciden. Elija orden ascendente o descendente y reciba texto listo para copiar y matrices estructuradas. Todas las líneas deben incluir un número finito válido, por lo que los datos defectuosos generan un error claro y no un resultado parcial poco fiable.
Por qué la ordenación numérica difiere de la alfabética
La ordenación textual normal compara caracteres de izquierda a derecha. Esa regla funciona con palabras, pero ofrece resultados inesperados con registros numerados: una línea que contiene 100 puede aparecer antes que otra con 20 porque el carácter 1 precede al 2. La ordenación numérica localiza el primer número decimal de cada línea, lo convierte en un valor finito y lo usa como clave.
El resto de la línea no cambia, de modo que etiquetas, unidades, puntuación y espacios permanecen junto al número. Los valores con signo se comportan como corresponde: -12 queda por debajo de -3 en orden ascendente. Se aceptan formas decimales como 0.5 y .75, además de valores científicos como 2e3 o -4.2E-2.
El número debe estar separado de letras, dígitos y guiones bajos; los dígitos dentro de un identificador como version2beta no se interpretan silenciosamente como una medida. Si hay varios números, se utiliza el primero. Las claves iguales conservan su orden relativo original, lo que garantiza un resultado estable entre ejecuciones.
Cómo preparar la entrada y leer el resultado
Proporcione el contenido multilínea en el campo obligatorio text. Se reconocen finales de línea de Unix, Windows y archivos antiguos con retorno de carro; el texto devuelto usa un único salto de línea para facilitar la copia y el procesamiento posterior. Todas las líneas, incluso una línea vacía creada por un salto inicial, final o repetido, deben contener un número.
Esta validación estricta protege sus procesos automatizados: en lugar de colocar una fila ilegible en un extremo arbitrario, la capacidad indica el número de línea, empezando en 1, que requiere atención. Elija asc, valor predeterminado, para ordenar de menor a mayor, o desc para invertir el orden. También devuelve count y el order efectivo.
La ortografía y los espacios originales se conservan, salvo la normalización de los separadores entre líneas. No se eliminan duplicados ni se interpretan separadores de miles; quite las comas de agrupación antes de enviar 1,200, pues se leería como 1.
Uso fiable en el navegador y en procesos automatizados
Utilice la herramienta del navegador para reordenar etiquetas de capítulos, colas de prioridad, resultados de pruebas, listas de precios o mensajes de registro con contadores numéricos. Un proceso práctico valida primero el formato de origen, envía las líneas y consume el texto unido o la matriz estructurada. Como la implementación no usa red, aleatoriedad, configuración regional ni fecha actual, una misma entrada y las mismas opciones siempre producen la misma salida.
Esa propiedad resulta útil en compilaciones reproducibles y pruebas de referencia. Los empates mantienen su estabilidad incluso en orden descendente: cambiar la dirección invierte la comparación de valores, pero no las filas con la misma clave. La herramienta no ordena columnas tabulares, no evalúa expresiones ni interpreta monedas.
Rechazar una línea sin un primer literal numérico finito es más seguro que inventar una posición capaz de ocultar datos ausentes en un informe automatizado.
Qué puede hacer con ella
Ordenar correctamente etiquetas numeradas
Coloque elemento 2, elemento 11 y elemento 100 según su número real sin alterar ninguna etiqueta.
Clasificar medidas y pruebas de rendimiento
Ordene líneas con negativos, decimales o notación científica para obtener un informe reproducible.
Normalizar datos de prueba deterministas
Cree un orden numérico estable para registros y pruebas, conservando el orden de las filas empatadas.
Preguntas frecuentes
¿Qué número se usa si una línea contiene varios?
Se utiliza como clave el primer literal numérico independiente. Los números posteriores permanecen en el texto, pero no afectan a la posición.
¿Se admiten números negativos y decimales?
Sí. Se admiten enteros con signo, decimales como -3.5 o .75 y notación científica como 2e3, siempre que sean finitos.
¿Qué ocurre si dos líneas tienen el mismo valor?
La ordenación es estable, por lo que las líneas empatadas conservan el orden relativo de la entrada.
¿Por qué aparece un error que señala una línea?
Cada línea debe contener un número y esa no lo tiene. Una línea en blanco también cuenta, incluida la que deja un salto de línea al final. El aviso indica el número de la línea para que la corrija o la quite.
¿Por qué no se usa un número pegado a una palabra, como en version2beta?
Un número solo cuenta cuando va separado de las letras, así que las cifras metidas dentro de un código como version2beta no se toman como valor. Si esa línea no tiene otro número, recibirá un aviso por ella.
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/sort-lines-numeric \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"item 20\nitem 3\nitem 100\nitem 11"}'const res = await fetch("https://api.kit.forhosting.com/str/sort-lines-numeric", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "item 20\nitem 3\nitem 100\nitem 11"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/sort-lines-numeric",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "item 20\nitem 3\nitem 100\nitem 11"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/sort-lines-numeric", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"item 20\\nitem 3\\nitem 100\\nitem 11"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"item 20\nitem 3\nitem 100\nitem 11"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/sort-lines-numeric", 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": "item 20\nitem 3\nitem 100\nitem 11"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.sort_lines_numeric",
"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.
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
Cómo preparar la entrada y leer el resultado
La respuesta incluye text para copiar, lines como matriz JSON y values con las claves extraídas ya ordenadas.
Uso fiable en el navegador y en procesos automatizados
La misma lógica determinista está disponible mediante la API para scripts de compilación, sistemas de contenidos, etapas de limpieza y datos de prueba por $0.002 por solicitud correcta.
Preguntas técnicas
¿Qué sucede si una línea no contiene ningún número?
La solicitud falla con invalid_input e identifica la línea empezando en 1. No se devuelve un resultado parcial.
¿Cuánto cuesta ordenar líneas numéricamente?
La herramienta del navegador es gratuita. Cada solicitud API correcta cuesta $0.002; una entrada inválida se rechaza sin resultado.