Je croyai avoir compris, mais j'ai toujours du mal.
En fait, maintenant j'ai une chaine de caractere dans laquelle je souhaite supprimer tout les caractere qui ne sont pas compris dans: [a-zA-Z0-9] ainsi que les espaces de celle-ci.
Je fait donc ça:
Hors je trouve que cela n'est pas pratique, et surtout long. N'est il pas possible de faire la meme chose avec une expression reguliere??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 my $unechaine = "Manip-ulati@ on"; my $chainefinal; while (length($unechaine) > 0){ $lengthchaine = length($unechaine); if (substr($unechaine,0,1) =£ /^[0-9a-zA-Z]*$/){ if (substr($unechaine,0,1) ne " "){ $chainefinal.=substr($unechaine,0,1); } else{ $unechaine = substr($unechaine,-($lengthchaine-1)) } } else { $unechaine = substr($unechaine,-($lengthchaine-1)); } } my bonnechaine = $chainefinal;
PS: le £ represente le caractere "vague" qu'il faudrait ecrire a la place de £.
Partager