Transformación de texto
TextoConvierte texto entre convenciones de nombres, mayúsculas/minúsculas, ancho completo/reducido e inviértelo.
En esta página
¿Qué es una herramienta de transformación de texto?#
Una herramienta de transformación de texto reescribe una cadena según una regla fija: cambiar las mayúsculas, cambiar la convención de nombres, alternar formas de ancho completo y reducido o invertir los caracteres. La mayoría de estos trabajos tienen una respuesta de una línea en tu cabeza hasta que intentas hacerlos de verdad: «pasa esta cabecera a kebab-case» es obvio para Content Type, pero ambiguo para HTTPServer, getUserById_v2 o X-Rate-Limit-Remaining. ¿Qué partes son palabras? ¿Dónde caen las fronteras?
Esta herramienta responde a eso con un único divisor de palabras predecible. Normaliza los separadores (guion bajo, guion, espacio en blanco, puntuación) y luego inserta fronteras en las uniones de camelCase y PascalCase, en las uniones de acrónimo a palabra (HTTPServer → HTTP Server) y en las uniones de letra a dígito (v2 → v 2). Los tokens resultantes alimentan doce operaciones: cinco convenciones de nombres (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE), cuatro tipos de mayúsculas (MAYÚSCULAS, minúsculas, Tipo Título, Tipo oración), conversión de ancho asiático (reducido ↔ completo) e inversión. La inversión recorre por punto de código Unicode, así que los emoji y demás caracteres por par suplente sobreviven intactos en vez de convertirse en mitades rotas.
Cómo se usa#
- Elige la Operación en el desplegable de la barra de herramientas. Las doce opciones están agrupadas de forma lógica: primero las convenciones de nombres, luego los tipos de mayúsculas, luego la conversión de ancho y, por último, la inversión.
- Escribe o pega en el panel de Entrada de la izquierda, o pulsa Ejemplo para cargar un texto que ejerzite el divisor.
- Lee el resultado en el panel de Salida de la derecha: se actualiza en cuanto cambia la entrada o la operación seleccionada.
- Pulsa Copiar en la cabecera de salida para llevarte la cadena transformada, o Limpiar para empezar de nuevo.
Las operaciones son totales: una entrada vacía produce una salida vacía, y ninguna operación puede lanzar un error. Cambiar el desplegable vuelve a pasar la misma entrada por la regla nueva al instante, lo que convierte esto en una forma rápida de comparar, por ejemplo, snake_case con kebab-case para el mismo identificador.
Características clave#
- Un divisor, doce salidas. Las mismas fronteras de palabra alimentan todas las convenciones de nombres, así que
getUserById_v2produce de forma consistentegetUserByIdV2/GetUserByIdV2/get_user_by_id_v2/get-user-by-id-v2/GET_USER_BY_ID_V2. - División consciente de acrónimos.
HTTPServerse divide enHTTP+Server, no enHTTPServer: el patrón reconocido (una secuencia de mayúsculas seguida de una palabra en mayúscula-inicial-minúscula) mantiene los acrónimos legibles. - Fronteras de letra a dígito.
v2se convierte en dos tokens, así queversion2se slugifica limpiamente en vez de pegar un dígito a una palabra. - Conversión de ancho asiático. El ASCII de ancho reducido
Hello 123pasa a ancho completoHello 123(espacio incluido), y la inversa restaura el ASCII: útil al rellenar formularios de Asia oriental o alinear texto CJK. - Inversión por punto de código. Invertir
a😀bdab😀a, no un emoji roto: el divisor recorre puntos de código en vez de unidades de código UTF-16. - Local e instantáneo. Sin red, sin subidas: cada transformación es pura aritmética de cadenas en la página.
Ejemplo práctico#
Pega una etiqueta legible por humanos en la entrada:
user first name
Cambia la operación entre las cinco convenciones de nombres y observa el panel de salida:
- camelCase →
userFirstName - PascalCase →
UserFirstName - snake_case →
user_first_name - kebab-case →
user-first-name - CONSTANT_CASE →
USER_FIRST_NAME
Ahora prueba un identificador más sucio que mezcle convenciones:
HTTPServer v2
Como el divisor reconoce la frontera HTTP + Server y la frontera v + 2, las salidas se mantienen legibles en vez de colapsar en httpservver-v2:
- kebab-case →
http-server-v-2 - snake_case →
http_server_v_2 - CONSTANT_CASE →
HTTP_SERVER_V_2
Ahí está la diferencia entre una transformación que entiende de verdad la estructura de un identificador y otra que se limita a pasar a minúsculas y unir con un separador.
Preguntas frecuentes#
¿Por qué HTTPServer no se convierte en h-t-t-p-server?#
Porque el divisor trata una secuencia de mayúsculas seguida de una palabra en mayúscula-inicial-minúscula como un acrónimo más una palabra. HTTPServer se lee como HTTP + Server, que es casi siempre lo que querías decir. Un divisor ingenuo que cortara en cada mayúscula produciría slugs ilegibles como h-t-t-p-server.
¿Cuál es la diferencia entre Tipo Título y Tipo oración?#
Tipo Título pone en mayúscula la primera letra de cada palabra delimitada por espacios en blanco (the quick fox → The Quick Fox), lo que es correcto para titulares y títulos de libros. Tipo oración pone en mayúscula solo el primer carácter alfabético de toda la cadena (the quick fox → The quick fox), lo que es correcto para prosa y oraciones. Elige según lo que sea realmente el texto.
¿Cuándo usaría la conversión de ancho reducido ↔ completo?#
La tipografía de Asia oriental y algunos formularios gubernamentales y empresariales esperan letras latinas y dígitos de ancho completo (ABC123) para alinear visualmente con los caracteres CJK. A la inversa, el texto copiado de una fuente japonesa suele llegar en forma de ancho completo y hay que restaurarlo a ASCII antes de que una expresión regular o un analizador de código lo acepten. Las dos operaciones son inversas exactas la una de la otra.
¿La inversión gestiona bien los emoji?#
Sí. La operación itera por punto de código Unicode (vía Array.from), no por unidad de código UTF-16, así que un carácter ajeno al plano multilingüe básico (un emoji como 😀, un ideograma CJK raro o un símbolo matemático) se invierte como una sola unidad. Invertir abc😀def da fed😀cba, con el emoji intacto.
¿Es útil para renombrar un lote de archivos o variables?#
Para un único identificador, sí: pégalo, elige la convención y cópialo. Para trabajo por lotes, normalmente lo scriptarías, pero esta página es una forma rápida de confirmar la salida exacta que produce una convención antes de volcarla a una regex o a un codemod, en especial para esas entradas mezcladas con mayúsculas que tan tentadoras son para los bugs.