regexp - Convierta un char a mayúsculas utilizando expresiones regulares(EditPad Pro)
regular expression creator online (5)
EditPad Pro y PowerGREP tienen una característica única que le permite cambiar el caso de la retro-referencia.
/U1
inserta la primera referencia inversa en mayúscula,/L1
en minúscula y/F1
con el primer carácter en mayúscula y el resto en minúscula. Finalmente,/I1
inserta con la primera letra de cada palabra en mayúscula y las otras letras en minúscula.
Fuente: Goyvaerts, Jan (2006). Expresiones regulares: el tutorial completo . Lulu.com. pag. 35 . ISBN 1411677609. Google Books. Recuperado el 25 de junio de 2010.
Escribí una expresión regular con la esperanza de poder reemplazar todas las coincidencias (es decir, solo una char) por mayúsculas. Estoy usando EditPad Pro (sin embargo, estoy dispuesto a usar cualquier otra herramienta que me permita hacer esto, siempre que sea gratuito, ya que solo necesito hacer esto una vez).
Fondo: Tengo un archivo de texto muy largo utilizado por una aplicación sensible a mayúsculas y minúsculas, y algunas palabras comienzan con minúsculas en vez de letras mayúsculas, lo que bloquea la aplicación. Esto tomaría mucho tiempo para hacerlo a mano, y sería bastante complicado prescindir de expresiones regulares porque la ocurrencia del (malo) carácter minúsculo es muy específica.
Escribí la expresión regular seleccionada y ahora puedo usarla con una referencia inversa ($ 1 funciona bien), pero no puedo reemplazarla con caracteres en mayúscula. Pensé que algo como / u $ 1 funcionaría, pero no funciona en EditPad Pro.
Si ninguna herramienta gratuita me permite hacer esto, supongo que la alternativa sería simplemente hacerlo en C #, pero estoy un poco apurado y no cerca de un compilador, así que primero tendría que descargar la edición express, entonces ... ¡Sería preferible buscar una herramienta que admita esa función!
¡Gracias!
Puede hacerlo en jEdit, utilizando la opción "Valor de devolución de un fragmento de BeanShell" en el cuadro de diálogo Buscar y reemplazar de jEdit. Simplemente busque " [az]"
y reemplácelo por " _0.toUpperCase()"
(sin comillas)
Sé que este hilo trata sobre EditPad Pro. Pero vine aquí debido a la misma necesidad de Javascript regexp.
Para las personas que están aquí necesitando el mismo consejo, para javascript regexp, puede usar una función como argumento de reemplazo.
Utilizo la función siguiente para convertir los nombres css con - al equivalente de javascript, por ejemplo: "border-top" se transformará en "borderTop";
s = s.replace(//-[a-z]/g, function(x){return x[1].toUpperCase();});
También puede escribir en mayúscula la primera letra del partido usando /I1
y /I2
etc. en lugar de $1
y $2
.
TextPad te permitirá realizar esta operación.
ejemplo:
test this sentence
Encuentre qué: /([^ ]*/) /(.*/)
Reemplace con: /U/1/E /2
el /U
hará que todos los caracteres siguientes sean superiores
el /E
apagará el /U
el resultado será:
TEST this sentence