gpt4 book ai didi

perl - 如何 "pad"可变长度字符串具有对齐的最后一列

转载 作者:行者123 更新时间:2023-12-04 01:28:38 26 4
gpt4 key购买 nike

我有以下格式的输入:

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

我能够使用正则表达式轻松提取这些个人字段 /(\S+)\s+(\S+)\s+(\S+)\s+/ .我给它们起了名字 $time , $name , 和 $number .我的问题是我想显示这个,以便 $number完美对齐。因为 $name可以是任何长度,最好的解决方案是什么?

我希望输出看起来像这样。请注意,我必须使用点来对齐最后一个字段,因为我无法使用空格键来执行此操作,不知道为什么。随便。
09:08:11        XXXXXXXXXXXXX    1.1.1.1          
09:09:03 YYYYYYYY 2.2.2.2
09:12:37 ZZZZ 3.3.3.3

我想把 $name成一个数组。然后使用一个函数找到字符数最长的那个。最后,我会填充较短的名称以匹配最长的名称。有没有更好更有效的方法来做到这一点?

最佳答案

对于格式化,请尝试使用 sprintf功能,如

$line = sprintf "%-12s %-20s %-s\n", $time, $name, $number;

(减号表示左对齐)

关于perl - 如何 "pad"可变长度字符串具有对齐的最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1512253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com