Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7804[/thread]

Reguläre Ausdrücke: wie kann ich tabulatoren entfernen?

Leser: 1


<< >> 5 Einträge, 1 Seite
Gast Gast
 2006-03-18 11:54
#63876 #63876
Guten Tag.
Bin neu hier und habe erst seit 2 tagen kontakt mit perl (ich bin aber auf jeden fall schon jetzt begeistert).
nun aber zu meinem problem.
ich will eine csv-datei auslesen. das mache ich per hand. nun musste ich die Anführungszeichen entfernen (mi s/"//g) funktioniert auch tadellos.
jetzt aber zu meinem problem. zwischen dem ende der spalte und dem Dateinamen sind einige leerzeichen.
Also zB:
5; Hans Huber         ;hans.huber@gmx.at               ;
3; Walter Gross       ;walter.gross@gmail.com         ;    
wie bringe ich das in das format:
5; Hans Huber;hans.huber@gmx.at;
3; Walter Gross;walter.gross@gmail.com;  

das problem ist einfach, dass ich praktisch keine erfahrung mit regulären ausdrücken (bis auf kleinigkeiten mit sed und grep) habe.
ich danke schon mal im voraus.

lg Matthi
[E|B]
 2006-03-18 12:24
#63877 #63877
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Code: (dl )
$string =~ s/\t//g;


\t killt dir alle Tabulatoren.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
vayu
 2006-03-18 13:48
#63878 #63878
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
es müssen aber nicht zwingend tabs sein. er sagte ja es sei eine CSV datei und keine TSV ;)

Code: (dl )
$str =~ s/\s{2,}//g;


dann würde ich lieber sowas machen. oder zumindest zusätzlich :)\n\n

<!--EDIT|vayu|1142682559-->
FIFO
 2006-03-18 17:38
#63879 #63879
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Wenn Du nur alle Leerzeichen (incl. Tabulatoren) um die Semikolons weghaben willst:

Code: (dl )
$str =~ s/\s*;\s*/;/g;


Wenn der String nach dem letzten ; mit einem Newline endete, ist der allerdings auch weg.
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
datenreisender
 2006-03-19 12:12
#63880 #63880
User since
2006-03-19
6 Artikel
BenutzerIn
[default_avatar]
hallo, vielen dank für eure antworten. habe mir zwar inzwischen dabei geholfen, dass ich es mit fester länge gemacht habe, werde aber darauf umsteigen.
wünsche euch einen schönen sonntag.

lg datenreisender
<< >> 5 Einträge, 1 Seite



View all threads created 2006-03-18 11:54.