SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Problemer med konvertering af tegn.



On Mon, 8 Nov 1999, Poul Hansen wrote:

> Jeg har forsøgt at konvere æøå til /ae /oe /aa til brug i tex, uden held.
> Jeg har forsøgt at bruge 'tr' med følgende syntax for æ'et
> 
> $line =~ 'tr /'\221//ae/';
> 
> dog uden held. Jeg kan kun konvetere til et tegn ikke til en streng.

tr "translater" hver tegn i liste a til hvert tegn i liste b. Altså kan du
fx hver af tegn abc til def, så a->d, b->e, c->f.

Hvis du vil erstatte X tegn med Y tegn skal du bruge normal substitution
og ikke tr.

$line =~ s/\221/\/ae/g;

eller den alternative syntaks så du ikke behøver at escape /

$line =~ s#\221#/ae#g;


Hvis du skal erstatte mange forskellige tegn bør du nok sætte en hash op
med fra->til:

%Translations = (
	"\221" => "/ae",
	"\220" => "/xy"
	...
);

foreach (keys %Translations) {
	$document =~ s/$_/$Translations{$_}/g;
}



> PS. Det er et rent held jeg har fundet escapekoderne for æøå, hvor kan
>       man finde en oversigt over escapekoder ? Det er jo ikke just ASCII.

I hvilket tegnsæt?

man iso_8859_1 for latin-1 tegnsættet.

Ellers rfc1345 -- skrevet iøvrigt af vores Keld :)

-- 
==============================================================================
Erwin Andreasen   Herlev, Denmark <sslug@sslug>          UNIX System Programmer
<URL:http://www.andreasen.org>              <*>              Goodbye, Richard!
==============================================================================



 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:52
Denne side vedligeholdes af MHonArc .