2010-01-20 53 views
1

考虑我有一个.txt文件的格式的第一个字后,给标签间距文本文件

Name: Abc 

Id: 123 

Age: 12 

Address: xyz 

我想形式将此文件转换,

Name : Abc 

Id  : 123 

Age  : 12 

Address : xyz 

即每个瓷砖后的冒号应移动2或3个选项卡空格。标题将只是一个单词,并不会有空格。所以标题不会是形式(你的年龄:)。所以我可以只读第一个字,然后给出标签。

我怎样才能做到这一点?并会在Perl中做更简单或任何其他语言。

回答

2

找到最大的单词的长度,向其中添加n个空格。这是格式化每个单词时使用的填充。例如,PHP有一个可以看的sprintf()函数。各种其他语言也提供格式化输出。

在PHP中,以下格式应该工作 - "%-<max>s : %s",其中<max>是最大的单词+一些填充的长度。

sprintf("%-25s : %s", $key, $value); 

-使字符串左对齐。

+1

如果直到运行时才知道最大长度,那么sprintf(“% - * s:%s”,$ max_length,$ key,$ Value)。 – 2010-01-20 05:13:22