我需要創建文本檔案并能夠使用 Go 控制文本是左對齊還是右對齊。我找到了標簽撰寫器,但我不想要列。文本需要自由流動。有什么建議么?
uj5u.com熱心網友回復:
您可以在 ASCII 文本檔案中執行的格式型別非常有限。沒有 ASCII 控制字符表示文本塊將以某種方式被證明是合理的。您要么依靠文本查看器將自定義語法解釋為格式(請參閱 Markdown 格式),要么添加空格以在每一行上顯式創建所需的格式。
對于后者,您可以在每行前面插入空格來模擬對齊。為此,您需要選擇每行固定數量的字符(例如 40 個字符)作為格式化的基礎。請注意,在您的用戶擁有的任何文本查看應用程式中,此最大線寬不一定與螢屏大小相匹配。
左對齊演算法基本上是一種自動換行演算法。請參閱最佳自動換行演算法?為了那個原因。
右對齊演算法再次進行自動換行,但有一個中間步驟:讓自動換行函式首先將您的文本分成自動換行的行。然后用空格數填充每行的開頭,該空格數等于您剩余的字符數以適合最大行寬。
所以說你的源文本是“這個陳述沒有理由!” 并且您的最大行寬是 15 個字符。左對齊演算法將輸出:
There is no
justification
for this
statement!
...并且右對齊演算法將輸出:
There is no
justification
for this
statement!
如果要更改最大線寬,則需要再次運行演算法以使用新的最大線寬重排文本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/520338.html
標籤:文件去文本
