2010-06-07 117 views
1

我試圖將一個字符串定位在某一行的某個起始位置,而不管前一個文本的結束位置。例如:Java格式化程序指定文本的起始位置

Mandatory arguments to long options are mandatory for short options too. 
    -a, --all     do not ignore entries starting with . 
    -A, --almost-all   do not list implied . and .. 

無論前面的文字如何,選項的解釋都從第30位開始。你如何用java.util.Formatter完成這項工作?我已經用寬度(%30s)和精度(%.30)參數進行了測試,但都沒有提供所需的結果。

+0

如果你使用Apache的百科全書CLI,所有這一切都將替您完成了,包括選項參數分析和幫助的文本格式(http://commons.apache.org/cli/) – skaffman 2010-06-07 21:49:34

+0

問題不是必須解析選項。 – dplass 2010-06-07 22:00:14

+0

@dplass:這就是爲什麼我沒有發佈它作爲答案。但如果解析和格式化參數是最終目標,那麼重新發明輪子就沒有意義了。 – skaffman 2010-06-07 22:21:38

回答

2

您可以使用 '寬度' 參數,像這樣:

System.out.println(String.format("%-30s%s", " -a, --all", "do not ignore entries starting with .")); 
    System.out.println(String.format("%-30s%s", " -A, --almost-all", "do not list implied . and ..")); 

編輯
完整的概述,如果你有興趣。它並不大,格式化功能非常有限。
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax

+0

謝謝!左對齊前一個格式化程序是我正在尋找的。我已經閱讀了javadocs,答案沒有發生在我身上。 – purecharger 2010-06-07 22:49:31

相關問題