2015-08-13 47 views
0

我最近注意到,當我在任何大於80個字符(或大於緩衝區大小)的字符串上使用Console.WriteLine時,輸出會將字符串嚴格分割爲80個字符。在控制檯中保留單詞writeline

If this was really 80 characters the break wou 
ld look something like that. 

雖然我知道我可以使用正則表達式的一些瘋狂繞過這個問題,我在想,如果有一個簡單的解決方案。我已經使用了它,但是我找不到C#的任何代碼或函數,這些代碼或函數使控制檯無法分解單詞。

+0

代替你可以簡單地想出一個方法,當它達到80個字符,檢查(最近的)空白('「」')並用中斷替換它('\ r \ n「') – Ben

+0

備註:最適合文本到固定大小的佈局是非常常見的面試問題 - 應該有很多答案(在你的搜索查詢中包含「動態規劃」以獲得更好的結果)。 –

+0

好的,這可能會有所幫助,謝謝 – HadesHerald

回答

0

使用這種模式(我用40個字符在這種情況下,更改爲80)

^(.{1,40})\s 

$1\r\n Demo

# ^(.{1,40})\s 
^    # Start of string/line 
(    # Capturing Group (1) 
    .    # Any character except line break 
    {1,40}  # (repeated {1,40} times) 
)    # End of Capturing Group (1) 
\s    # <whitespace character> 
相關問題