Perl remplacer accent
nicolas7474
-
davlar Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
davlar Messages postés 75 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je désire remplacer les accents dans un texte entré au clavier (avec <STDIN>) par la lettre non accentué et la ponctuation par des espaces. J'uilise le code ascii, à savoir
le problème est que cela ne marche pas pour du texte entré au clavier!!cela marche pour du texte provenant d'un fichier mais pas avec <STDIN>
j'aimerai savoir si qu'elqu'un a une solution?
en vous remerciant
je désire remplacer les accents dans un texte entré au clavier (avec <STDIN>) par la lettre non accentué et la ponctuation par des espaces. J'uilise le code ascii, à savoir
print "Veuillez entrer un texte \n"; $texte=<>; chomp($texte); $texte=lc($texte); $texte=~tr/[x00-x2F]/ /;
le problème est que cela ne marche pas pour du texte entré au clavier!!cela marche pour du texte provenant d'un fichier mais pas avec <STDIN>
j'aimerai savoir si qu'elqu'un a une solution?
en vous remerciant
A voir également:
- Perl remplacer accent
- Remplacer disque dur par ssd - Guide
- Remplacer word - Guide
- E accent minuscule - Guide
- Remplacer coco - Accueil - Réseaux sociaux
- Quel site pour remplacer coco - Accueil - Réseaux sociaux
2 réponses
Tu peux essayer ceci:
Windows:
use open IN => ':encoding(cp1252)';
use open OUT => ':encoding(cp1252)';
DOS:
use open IN => ':encoding(cp850)';
use open OUT => ':encoding(cp850)';
Ou si c'est juste pour des print
use Encode qw/encode decode/;
...
...
print encode("cp850","$texte");
PS: Si quelqu'un connaît un solution portable je suis prenneur.
Dave
Windows:
use open IN => ':encoding(cp1252)';
use open OUT => ':encoding(cp1252)';
DOS:
use open IN => ':encoding(cp850)';
use open OUT => ':encoding(cp850)';
Ou si c'est juste pour des print
use Encode qw/encode decode/;
...
...
print encode("cp850","$texte");
PS: Si quelqu'un connaît un solution portable je suis prenneur.
Dave