Escribí una expresión regular con la esperanza de poder reemplazar cada coincidencia (que es solo un carácter) por caracteres en mayúscula. Estoy usando EditPad Pro (sin embargo, estoy dispuesto a usar cualquier otra herramienta que me permita hacer esto, siempre que sea gratis, ya que solo necesito hacerlo una vez).
Antecedentes: tengo un archivo de texto muy largo utilizado por una aplicación que distingue entre mayúsculas y minúsculas, y algunas palabras comienzan con minúsculas en lugar de mayúsculas, lo que bloquea la aplicación. Esto llevaría mucho tiempo hacerlo a mano, y sería bastante complicado hacerlo sin expresiones regulares porque la aparición del carácter (malvado) en minúsculas es muy específico.
He escrito la expresión regular select y ahora puedo usarla con una referencia inversa ($ 1 funciona bien), sin embargo, no puedo reemplazarla con mayúsculas. Pensé que algo como \ u $ 1 funcionaría, sin embargo, no lo hace en EditPad Pro.
Si ninguna herramienta gratuita me permite hacer esto, supongo que la alternativa sería hacerlo en C #, sin embargo, tengo un poco de prisa y no estoy cerca de un compilador, así que primero tendría que descargar la edición express, así que ... ¡Sería preferible encontrar una herramienta que admita dicha función!
¡Gracias!
Respuestas:
TextPad le permitirá realizar esta operación.
ejemplo:
Encuentra qué:
\([^ ]*\) \(.*\)
Reemplazar con:\U\1\E \2
esto
\U
hará que todos los caracteres siguientes sean superioresel
\E
apagará el\U
el resultado será:
fuente
ToUpper
)?\U$1\E
en Sublime Text\U\1\E
en Vim\L$1\E
trabajado.Sé que este hilo trata sobre EditPad Pro, pero vine aquí porque tenía la misma necesidad con una expresión regular de JavaScript.
Para las personas que necesitan el mismo consejo, puede usar una función o lambda como argumento de reemplazo.
Utilizo la siguiente función para convertir nombres CSS con
-
el equivalente de JavaScript, por ejemplo,"border-top"
se transformará en"borderTop"
:fuente
Fuente: Goyvaerts, Jan (2006). Expresiones regulares: el tutorial completo . Lulu.com pags. 35 . ISBN 1411677609. Google Books. Consultado el 25 de junio de 2010.
fuente
Puede hacerlo en jEdit, utilizando la opción "Valor de retorno de un fragmento de BeanShell" en el cuadro de diálogo Buscar y reemplazar de jEdit. Solo busque
" [a-z]"
y reemplácelo por" _0.toUpperCase()"
(sin comillas)fuente
También puede poner en mayúscula la primera letra del partido usando
\I1
y\I2
etc. en lugar de$1
y$2
.fuente
Solo otro ejemplo de uso para Notepad ++ (modo de búsqueda de expresión regular)
Ejemplo:
fuente