Tengo una entrada del siguiente formato:Cómo "rellenar" una cadena de longitud variable tenga un alineado última columna
09:08:11 XXXXXXXXXXXXX 1.1.1.1
09:09:03 YYYYYYYY 2.2.2.2
09:12:37 ZZZZ 3.3.3.3
soy capaz de extraer estos campos particulares fácilmente usando la expresión regular /(\S+)\s+(\S+)\s+(\S+)\s+/
. Los llamé $time
, $name
y $number
. Mi problema es que quiero mostrar esto para que el $number
se alinee perfectamente. Como el $name
puede ser de cualquier longitud, ¿cuál es la mejor solución para esto?
Me gustaría que la salida se vea así. Tenga en cuenta que tuve que usar puntos para alinear el último campo, ya que no pude usar la barra espaciadora para hacer esto, no estoy seguro de por qué. 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
pensé en poner el $name
en una matriz. Y luego use una función para encontrar el que tenga el número de caracteres más largo. Finalmente rellenaría el nombre más corto para que coincida con el nombre más largo. ¿Hay una manera mejor y más eficiente de hacer esto?
Utilice la opción de formato de código para especificar que se debe usar la fuente de ancho fijo y el preformateado. :) – Amber
Estaba haciendo esta edición en mi teléfono, hasta que me di cuenta de que era demasiado difícil. –
¿Los números son siempre de un dígito cada uno? Si no, ¿qué quieres hacer? –