Thread String fester Länge mit Platzhalter (8 answers)
Opened by hansi66 at 2011-01-04 12:04

Linuxer
 2011-01-04 12:21
#144023 #144023
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi,

quickhack als Vorschlag und Anregung:

Code: (dl )
1
2
3
> echo -e "abc\ndefghi" | perl -wlpe '$_ = "*** $_ " . ( "*" x ( 100-5-length($_)));'
*** abc ********************************************************************************************
*** defghi *****************************************************************************************


100 ist die Gesamtlänge, bestehend aus:
- 3 Sterne und 1 Leerzeichen am Anfang ( = 4 Zeichen)
- variable String
- Leerzeichen ( = 1 Zeichen)
- und restlichen Sternen ( = zu ermittelnde Anzahl zeichen)

Also müssen als restliche Sterne 100-5-(Länge des variablen Strings) eingesetzt werden

Edit:

Oder etwas überarbeitet:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub fill_up {
    my $str = shift;
    my $pat = shift;
    my $max = shift;

    # $pat DARF nur 1 Zeichen sein, sonst passt die Rechnung nicht
    return $str . ( $pat x (100-length $str) );
}


for ( qw( aaaa bbbbbbbbbb ccccccccccccccccccccc ) ) {
    print fill_up( "*** $_ ", "*", 100 ) ;
}

Last edited: 2011-01-04 12:25:55 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread String fester Länge mit Platzhalter