convertir caracteres
Victor Ramon Aguilar Ocampo
aguilar@servidor.unam.mx
Wed, 27 May 1998 16:44:14 -0600 (CST)
Pues faltarian algunos detalles para tratar de ayudarte, pero suponiendo
que se trate de UNIX, tenemos las siguientes observaciones
Las vocales acentuadas en minusculas son los caracteres
141 151 155 163 172
Las vocales acentuadas mayusculas son
101 111 115 123 132
La en~e minuscula : 161
La mayuscula : 121
Por eso los deja intactos, ademas de que las vocales acentuadas son
diferentes a las vocales comunes y corrientes.
Luego entonces algo como lo que sigue podria servir:
### Inicia ejemplo de codigo
$cadena=$linea;
# quitar acentos minusculas
($cadena2=$cadena)=~ s/\341/a/g;
($cadena=$cadena2)=~ s/\351/e/g;
($cadena2=$cadena)=~ s/\355/i/g;
($cadena=$cadena2)=~ s/\363/o/g;
($cadena2=$cadena)=~ s/\372/u/g;
#Cambiar de enie minuscula a mayuscula
($cadena=$cadena2)=~ s/\361/\321/g;
#Cambiar de enie minuscula a n.
# ($cadena=$cadena2)=~ s/\361/n/g;
# quitar acentos de mayusculas
($cadena2=$cadena)=~ s/\301/A/g;
($cadena=$cadena2)=~ s/\311/E/g;
($cadena2=$cadena)=~ s/\315/I/g;
($cadena=$cadena2)=~ s/\323/O/g;
($cadena2=$cadena)=~ s/\332/U/g;
#Cambiar de enie minuscula a mayuscula
($cadena=$cadena2)=~ s/\321/\361/g;
#Cambiar de enie minuscula a n.
# ($cadena=$cadena2)=~ s/\321/N/g;
# la cadena sin acentos.
print D "$cadena\n";
### Termina ejemplo de codigo
Saludos.
VICTOR.
----------------------------------------------------------------
Direccion General de Servicios de Computo Academico
Academic Computing Services
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO
Victor Ramon Aguilar Ocampo <aguilar@servidor.unam.mx>
" Solo tienes dos cosas en tu hacer, las Razones y
los Resultados. Las Razones no cuentan ".
----------------------------------------------------------------