Thread 0 in string einfügen (8 answers)
Opened by Alexander at 2012-03-07 04:18

FIFO
 2012-03-07 17:35
#156682 #156682
User since
2005-06-01
469 Artikel
BenutzerIn

user image
2012-03-07T06:29:06 FIFO
Kürzung des Stringteils vor der Extension (bzw. des Filenames, auch wenn keine Extension da (nicht getestet):

Code (perl): (dl )
$filename =~ s/^(.{7})(?=[^.]{2,}.*(\.[^.]+)?$)/$1~$2/;


Kann nicht funktionieren (mal ganz abgesehen von der fehlenden Klammer). Die zweite Gruppe matcht bei fehlender Extension eben nicht. Der Lookahead bringt so auch nichts. Wenn man die Kürzung mit RegEx machen will, muss man wohl die Fälle mit/ohne Punkt/Extension trennen:

Code (perl): (dl )
1
2
3
4
5
6
if ($name =~ /\./) {
    $name =~ s|^ (.{7}) .{2,} (\.[^.]*) $|$1~$2|x;
}
else {
    $name =~ s|^ (.{7}) .{2,} $|$1~|x;
}


Editiert von FIFO: quote mischmasch beseitigt
Last edited: 2012-03-07 20:01:25 +0100 (CET)
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"

View full thread 0 in string einfügen