Wie "pad" eine Zeichenfolge variabler Länge haben eine ausgerichtete letzten Spalte

Habe ich eine Eingabe im folgenden format:


09:08:11        XXXXXXXXXXXXX  1.1.1.1          
09:09:03        YYYYYYYY  2.2.2.2         
09:12:37        ZZZZ   3.3.3.3

Ich bin in der Lage, extrahieren Sie diese Individuen Felder einfach mit der regex /(\S+)\s+(\S+)\s+(\S+)\s+/. Ich benannte Sie $time, $name, und $number. Mein problem ist, ich möchte die Anzeige so, dass die $number richtet perfekt. Da die $name beliebig lang sein können, was ist die beste Lösung für dieses?

Ich würde gerne die Ausgabe wie folgt Aussehen. Bitte beachten Sie, dass ich hatte, um Punkte für das ausrichten des letzten Feldes, da war ich nicht in der Lage, verwenden Sie die Leertaste, um dies zu tun, nicht sicher, warum. Anyhoo.


09:08:11        XXXXXXXXXXXXX    1.1.1.1          
09:09:03        YYYYYYYY         2.2.2.2         
09:12:37        ZZZZ             3.3.3.3

Dachte ich über das setzen der $name in ein array. Und dann eine Funktion zu finden, die mit der längsten Anzahl Zeichen. Schließlich würde ich die Pads aus dem kürzeren Namen übereinstimmen, den längsten Namen. Gibt es eine bessere und effizientere Methode, dies zu tun?

Verwenden Sie die Code-Formatierung option, um anzugeben, dass die Feste Breite-schriftart und preformatting verwendet werden soll. 🙂
Ich war nur zu machen diese zu Bearbeiten auf meinem Handy, bis ich merkte, es war zu schwierig.
Sind die zahlen immer eine Ziffer pro? Wenn nicht, was möchten Sie tun?
Vielen Dank für den edit. Gut zu wissen ich hinzufügen kann, die Leerzeichen in den code-option.

InformationsquelleAutor qdog | 2009-10-02

Schreibe einen Kommentar