2010-01-20 56 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