当前位置:  开发笔记 > 编程语言 > 正文

如何在Perl中的对齐列中编写文本?

如何解决《如何在Perl中的对齐列中编写文本?》经验,为你挑选了2个好方法。

我正在尝试从Perl写入文件.我只想以制表符分隔格式编写数据.但是,我写的数据有不同的长度,并没有排队.

例如,我想写这样的东西:

Name  Education   Fav_Car  MoneyInBank
josh  High School Porche   500
SomeOtherName  PHD  Hyundai   50000

我只是希望数据与我在顶部的标题排成一行.

我输出的数据如下:

 printf FILE ("%s%20s%20s\n", "Name", "Ed", "Car");
 while (($name, $ed, $car) = $sth->fetchrow_array) {
         printf FILE ("%s>>>>>>>>>>>>>%40s%40s\n", $name, $ed, $car);
 };

cjm.. 28

制表符分隔的数据(字段长度不一致)在文本编辑器中打开时不会排列.

解决方案:

在电子表格中打开文件.

在文字处理器中打开它,选择所有文本,并定义适当的制表位.(谢谢,Justsalt)

在文本编辑器中,将标签宽度设置为大于任何字段的值.

使用空格而不是制表符(例如,printf使用字段宽度或格式).

例如,您可以使用

printf("%-15s %-15s %-10s %9s\n", $name, $edu, $car, $cash);

-%要离开的原因领域有道理的.数字(如钱)通常是右对齐的(这是默认值).



1> cjm..:

制表符分隔的数据(字段长度不一致)在文本编辑器中打开时不会排列.

解决方案:

在电子表格中打开文件.

在文字处理器中打开它,选择所有文本,并定义适当的制表位.(谢谢,Justsalt)

在文本编辑器中,将标签宽度设置为大于任何字段的值.

使用空格而不是制表符(例如,printf使用字段宽度或格式).

例如,您可以使用

printf("%-15s %-15s %-10s %9s\n", $name, $edu, $car, $cash);

-%要离开的原因领域有道理的.数字(如钱)通常是右对齐的(这是默认值).



2> Paul Tomblin..:

看看Perl format命令.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有