Avatar billede kurt-kewl Nybegynder
02. juni 1999 - 21:55 Der er 5 kommentarer og
1 løsning

Replace af "mystiske" tegn i Perl

Hej!

Jeg er i gang med at lave noget regexp-sjov, men skidtet har problemer med følgende tegn:
^, [, ], ´,` osv.

Hvordan kan jeg erstatte dem, så de stadig findes i skidtet, uden at de generer regexp''en?
Avatar billede ricki Nybegynder
02. juni 1999 - 22:12 #1
Du kan sætte et \ foran så bliver det efterfølgende tegne "ignoret" af en kommando, fx hvis du skal bruge et " i en sætning du har omgivet af "'er så kan det gøres sådan:
print "hej her er et \" .";
Avatar billede kurt-kewl Nybegynder
02. juni 1999 - 22:27 #2
Ja, men problemet er at tegn som ^ og [ kommer som input fra en query.... derfor leder jeg efter en måde at "replace" f.eks. [ med \[
Avatar billede ricki Nybegynder
02. juni 1999 - 22:40 #3
$variable =~ s/\^/x/g;
dette vil erstatte alle ^, i $variable, med x.
Avatar billede kurt-kewl Nybegynder
02. juni 1999 - 22:47 #4
Ahh... ok... Takker mange gange!! :)
Avatar billede ricki Nybegynder
02. juni 1999 - 22:50 #5
no problemo... :-)
Avatar billede ricki Nybegynder
02. juni 1999 - 23:03 #6
forresten... jeg kom lige i tanke om at dit problem måske kunne løses med  $value =~ s/%(..)/pack("c",hex($1))/ge;
Det er godtnok bare en linie jeg har skrevet af fra en perl-bog, men den er virkelig funktionel og jeg bruger den da også selv.
Det den gør er at den konvertere teksten fra HTML-form-indput til, noget læstbart, hvis du bruger æøå i et tekstfelt kan det give sjove resultater og det kan denne linie fixe for dig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester