supprimer retour à la ligne

supprimer retour à la ligne - Perl - Programmation

Marsh Posté le 23-02-2017 à 13:38:07    

comment supprimer un retour à la ligne en fait  
 
j'ai fait :  
  s/\n/ /g;
  s/\n+/ /;
 
mais ça fonctionne pas !!!!!!!!!!!!


Message édité par mouda le 23-02-2017 à 15:02:40
Reply

Marsh Posté le 23-02-2017 à 13:38:07   

Reply

Marsh Posté le 23-02-2017 à 21:26:06    

s/\n//g;
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 24-02-2017 à 00:22:27    

aussi ça marche pas parce que si je fait  
while(<$fh> )  #pour un fichier  
$_=~ s/\n//g;  
 
lorsque je fait print il affiche ligne par ligne et ça reste toujours le problème de retour à la ligne

Reply

Marsh Posté le 24-02-2017 à 10:54:40    

Quand on fait
while (<$fh> ) {
 s/\n//g;
...
}
ça supprime très bien les retours a la ligne, depuis que Perl existe.
Si ça marche pas pour vous, c'est que le problème est ailleurs.
 
Et de toute façon, pour supprimer un caractère fin de ligne, on fait habituellement en perl, quand c'est un fichier texte (donc terminé par une fin de ligne, sinon la dernière ligne poserait problème)
 
while (<$fh> ) {
 chop;
...
}
 
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 24-02-2017 à 12:39:35    

ça marche pas toujours , voici la totalité du code:  

Code :
  1. my $FichierResulat = '/home/lenovo/Bureau/MesTravaux/Traitement_corpus/result2';
  2. open( my $FhResultat, '>:utf8', $FichierResulat );
  3.  
  4.  
  5.  
  6.  
  7.  
  8. open(my $fh, "<:utf8", '/home/lenovo/Bureau/MesTravaux/Traitement_corpus/essai') or die "Failed to open file: $!\n";
  9.  
  10.  
  11.  
  12. #open(my $fh, "<:utf8", $directory) or die "Failed to open file: $!\n";
  13. #open( my $FhResultat, '>:utf8', $FichierResulat ) or die "Failed to write file \n";
  14.  
  15.  
  16.  
  17. while(<$fh> ){
  18.  
  19.  
  20. #next if m/^$/;
  21.  
  22. $_ =~ s/\n/ /;
  23. #remplacer plusieurs ! par un seul
  24. $_ =~s/\!+/ /g;
  25. #Enlever ; et le ,
  26. $_ =~s/[;,:]/ /g;
  27. $_ =~s/\*+/ /g;
  28.  
  29. #supprimer point d'interrogation en arabe
  30.  
  31. $_ =~s/\x{061F}/ /g;
  32. #supprimer point virgule en arabe
  33. $_ =~s/\x{066C}/ /g;
  34.  
  35. $_ =~s/\x{066B}/ /g;
  36.  
  37. $_ =~s/\x{060C}/ /g;
  38. #supprimer les expressions regulieres
  39. $_ =~s/\,//g;
  40.  
  41. $_ =~s/\;//g;
  42. $_ =~s/\*//g;
  43. $_ =~s/\-//g;  
  44. $_ =~ s/\_//g;
  45. $_ =~s/\[//g;
  46. $_ =~s/\]//g;
  47. $_ =~s/\(//g;
  48. $_ =~s/\)//g;
  49. $_ =~s/\{//g;
  50. $_ =~s/\}//g;    
  51. $_ =~s/\'//g;
  52. #s/\"//g;
  53. $_ =~s/\&//g;
  54. $_ =~s/»//g;
  55. $_ =~s/»//g;
  56.  
  57. $_ =~s/&#1563;//g;
  58.  
  59. $_ =~s/\|//g;  
  60.  
  61. $_ =~s/\\//g;
  62. $_ =~s/\+//g;
  63. $_ =~s/://g;  
  64. #supprimer les deux points
  65. $_ =~s/\://g;
  66. #remplacer plusieurs points par un seul
  67. #$_ =~ s/\.+/ \. /g;
  68. #$_ =~ s/\.+/ \. /g;
  69. $_ =~s/\.+/ /g;
  70. $_ =~s/ +/ /g;
  71.  
  72. $_ =~s/\/\s+/ /g;
  73.  
  74.  
  75. #Supprimer toute combinaison d'espaces et tabulations
  76. $_ =~s/[ \t]+/ /g;
  77. #Remplacer plusieurs espaces par un seul
  78. $_ =~s/ +/ /g;
  79. #Supprimer les lignes vides
  80. $_ =~ s/^\s+//g;
  81. $_ =~ s/\n//g;
  82. $_ =~ s/\n$/ /gs;
  83.  
  84. print $FhResultat "$_";
  85.  
  86.  
  87.  
  88. }

Reply

Marsh Posté le 24-02-2017 à 22:27:22    

while(<$fh> ) {
  chop;   # ou s/\x0d{0,1}\x0a{0,1}\Z//s;
  # a ce stade, il n'y a plus de caractères de fin de ligne
  # Apres vour remplacez par un blanc ce que vous voulez pas
   s/[!;,:+]+/ /g;
  # Apres vous supprimez ce que vous voulez
  s/[-_'&]+//g;
  # Etc
  # Et a la fin vous imprimez
  print $FhResultat $_;
}
 
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed