• Publicidad

Cómo reemplazar los caracteres \ y ^

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cómo reemplazar los caracteres \ y ^

Notapor rithchard » 2011-03-27 10:56 @497

No puedo remplazar estos caracteres: \ y ^.

$_ = "cadena que contiende \ y esto ^";

reemplazando con s///g no me funciona. Lo intenté con s/[\\]//g, y nada.

Valores decimales de los caracteres, en iso-8859-1:
92 = \
94 = ^

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$char=chr(92);
$content =~ s/[$char]//g;
$char=chr(94);
$content =~ s/[$char]//g;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Saludos
rithchard
Perlero nuevo
Perlero nuevo
 
Mensajes: 17
Registrado: 2010-04-19 11:59 @540

Publicidad

Re: Cómo reemplazar los caracteres \ y ^

Notapor explorer » 2011-03-27 11:09 @506

Esos caracteres tienen un significado para las patrones de las expresiones regulares, por lo que hay que "escapar" su significado si queremos referirnos a ellos.

perl -E '$_ = "Pruebas con \\ y con ^."; s{[\\^]}{}g; say'

En este caso, la '\' está escapada con otra '\', para evitar que la primera "escape" al carácter que le sigue. Y el '^' está colocado al final de la clase carácter (si estuviera al principio, estaría indicando que está negando el conjunto de caracteres de la clase carácter).

Ejemplo para eliminar los caracteres, por separado:

perl -E '$_ = "Pruebas con \\ y con ^."; s{\\}{}g; say'

perl -E '$_ = "Pruebas con \\ y con ^."; s{\^}{}g; say'
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados