Schrift
[thread]8328[/thread]

hex zeichen: unerwuenschte hex zeichen a0 entfernen

Leser: 2


<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
sabrina
 2006-09-13 16:49
#69828 #69828
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
hi,
musste mal ein neues thread (heisst es glaub ich) oeffnen,
das andere ist vom thema abgewichen und so koennen andere besser suchen.
und zwar hab ich meine bekannte liste in der ein leerzeichen ist, bsp ausgabe:
Code: (dl )
1
2
 
sabrina;gehring;BLUBB;54 569;24
 
erst dachte ich es waere ein ganz normales aber ich habe es nicht geschafft es zu entfernen. bis mein Projektleiter mal auf die idee kam, im hexeditor mal nach zu schauen, hab ich dann auch gemacht und es ist a0
Am liebsten wurde ich das in den code einfuehren : wuerde mal schaetzen wenn ich mal den code habe, dann in die while schleife oder?:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   #!/usr/bin/perl
use strict;
use warnings;
my @files = qw(ZIEL1.txt ZIEL2.txt ZIEL3.txt ZIEL4.txt);
my $output = 'ZIELgesamt.txt';
open(my $write_fh, '>', $output) or die $!;
for my $file(@files){
  open(my $fh,'<',$file) or die $!;
  while(my $line = <$fh>){
      print $write_fh $line;
  }
  close $fh;
  }
close $write_fh or die $!;

Haben dann im netz nachgeschlagen und es stellt sich raus, dass es ein "NO-BREAK-SPACE" zeichen ist kennt jemand einen link der was dazu weis? wie ich es entfernen kann und andere info. kenne solche zeichen noch gar nicht. hab nur von hexalzeichen gehoert aber noch nie mit ihnen gearbeitet. Hab grad alle 91 seiten dieses Forums durchsucht aber nichts gefunden was in meine richtung geht :(
Im netz hab ich bis jetz auch noch keine brauchbaren seiten gefunden
lg sabrina\n\n

<!--EDIT|sabrina|1158152229-->
fraggs
 2006-09-13 16:57
#69829 #69829
User since
2006-09-11
179 Artikel
BenutzerIn
[Homepage] [default_avatar]
also bei mir kommt 'a0' als ';' zeichen im hex edit raus ... dann denke ich mal das das ein "no-break-space" ist ? ich google mal rum

160 (xA0): No-break space (Nicht umbrechbarer Leerraum)\n\n

<!--EDIT|fraggs|1158152325-->
mmm twix
pq
 2006-09-13 17:02
#69830 #69830
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
wenn du eh schon den hex-code kennst, brauchst du doch keine weitere info.
einfach $string =~ tr/\xa0//d;
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
sabrina
 2006-09-13 17:02
#69831 #69831
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
was fuer ein system hast du auf meinem windos bekomme ich ne leerstelle un haette die gerne weg.
lg sabrina
sabrina
 2006-09-13 17:03
#69832 #69832
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
danke pq hab deinen kommentar zu spaet gesehen schau mal ob ich es hin bekomme!
lg sabrina
fraggs
 2006-09-13 17:03
#69833 #69833
User since
2006-09-11
179 Artikel
BenutzerIn
[Homepage] [default_avatar]
UltraEdit32 hex edit im windows xp sp2.

aber probier ma das was pq gesagt hat. perl sollte eigentlich den hex code schnallen\n\n

<!--EDIT|fraggs|1158152667-->
mmm twix
renee
 2006-09-13 17:05
#69834 #69834
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use strict;
use warnings;

my $no_break_space = chr(0xa0);
my $string ="hallo";
$string .= $no_break_space;
$string .= "welt\n";
print $string;


$string =~ s/$no_break_space/_/g;
print $string;


Du kannst ja mal einen Versuch starten, wo Du was ändern würdest und es dann hier posten.\n\n

<!--EDIT|renee|1158152812-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sabrina
 2006-09-13 17:31
#69835 #69835
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
edit meist du ich muss angeben wo es stht das kann ich nicht ich hab keine ueberschrieft oder was soll "hallo no_break_zeichen welt" bedeuten

hier meine versuche:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use strict;
use warnings;
my @files = qw(bla1.txt bla2.txt bla3.txt bla4.txt);
my $output = 'blagesamt.txt';
open(my $write_fh, '>', $output) or die $!;
for my $file(@files){
my $string =~ tr/\xa0//d;
  open(my $fh,'<',$file) or die $!;
  while(my $line = <$fh>){
       print $write_fh $line;
       }
  close $fh;
  }
close $write_fh or die $!;
und meine dazugehoerigen fehlerausgaben
Code: (dl )
Use of uninitialized value in transliteration (tr///) at so_wie_es_sesin_soll5.pl line 8.
und zwar vier mal die gleiche fehlermeldung
und meine liste bleibt unveraendert
Also weiter mein naechster code (ist eigendlich meine erster verdacht gewesen) da bekomme ich keine fehlermeldungen und meine ausgabe bleibt wie oben unverandert mit den no brack zeichen
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  #!/usr/bin/perl
use strict;
use warnings;
my @files = qw(bla1.txt bLa2.txt bla3.txt bla4.txt);
my $output = 'blagesamt.txt';
open(my $write_fh, '>', $output) or die $!;
for my $file(@files){
  open(my $fh,'<',$file) or die $!;
  while(my $line = <$fh>){
       print $write_fh $line;
         my $string =~ tr/\xa0//d;
       }
  close $fh;
  }
close $write_fh or die $!;

beim naechsten code hab ich keine ahnung was ich da mache ,dacht ich muesste deine code stuecke mit einbauen. Kannst du mir nen tipp geben welche version am naehesten drann ist, dann kann ich vielleicht wieder alleine weiter machen. ausgabe der datei immer noch unveraendert
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  #!/usr/bin/perl
use strict;
use warnings;

my @files = qw(bla1.txt bla2.txt bla3.txt bla4.txt);
my $output = 'blagesamt.txt';
open(my $write_fh, '>', $output) or die $!;
for my $file(@files){
  open(my $fh,'<',$file) or die $!;
  while(my $line = <$fh>){
   my $no_break_space = chr(0xa0);
      $write_fh $line.= $no_break_space/_/g;
       print $write_fh $line;
       $write_fh $line =~ s/$no_break_space/_/g;
           print $write_fh $line
       }
  close $fh;
  }
close $write_fh or die $!;

fehlermeldungen
Code: (dl )
1
2
3
4
5
6
7
syntax error at so_wie_es_sesin_soll5.pl line 14, near "$write_fh $line "
   (Missing operator before $line?)
Scalar found where operator expected at so_wie_es_sesin_soll5.pl line 14, near "$write_fh $line"
   (Missing operator before $line?)
syntax error at so_wie_es_sesin_soll5.pl line 12, near "$write_fh $line"
syntax error at so_wie_es_sesin_soll5.pl line 14, near "$write_fh $line "
Execution of so_wie_es_sesin_soll5.pl aborted due to compilation errors
wuerde denn also eher nicht nehmen\n\n

<!--EDIT|sabrina|1158154750-->
pq
 2006-09-13 17:36
#69836 #69836
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=sabrina,13.09.2006, 15:31]hier meine versuche:[code]
for my $file(@files){
my $string =~ tr/\xa0//d;
[code][/quote]
was um himmels willen soll das denn?
ich dachte, du könntest das beispiel zumindest so verstehen, dass du
es auf deinen code übertragen kannst.
$string =~ tr/\xa0//d;
entfernt alle a0 aus der variable $string.
aber du willst das zeichen doch aus der datei entfernen!
ein bißchen darfst du auch selbst nachdenken oder ansonsten konkret nachfragen,
bevor du irgendeinen code-schnippsel nimmst und ihn in dein skript reinwurschtelst.\n\n

<!--EDIT|pq|1158155759-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
renee
 2006-09-13 17:38
#69837 #69837
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Überleg mal: Wir haben in $string unseren Text gehabt. Wo hast Du Deinen Text drin? ($string hast Du nicht, aber wo speicherst Du die Zeile?)

wenn Du zwei mal print hast, was passiert dann? Steht es nur einmal in der Datei oder zweimal?

Bringt es Dir etwas, wenn Du nach dem print etwas veränderst, steht es dann in der Datei?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2006-09-13 16:49.