2009-06-01 177 views
0

我有一個非常長的字符串。我想每80個字符添加一個換行符。是否有正則表達式替換模式可以用來每80個字符插入「\ r \ n」?如果有問題,我正在使用C#。如何使用正則表達式添加換行符?

我想避免使用循環。

我不需要擔心在一個詞的中間。我只想每80個字符就插入一個換行符。

+0

你真的想每隔八十個字符就這樣做,或者只是在分詞時這麼做嗎? – 2009-06-01 21:53:30

+0

PHP有http://www.php.net/wordwrap,如果在C#中不存在這樣的東西,我會感到震驚的。# – 2009-06-01 21:55:36

回答

5

我不知道確切的C#的名字,但它應該是這樣的

str.Replace("(.{80})", "$1\r\n"); 

的想法是搶80個字符,並將其保存在一組,然後將它放回(我覺得「 $ 1「是正確的語法)以及」\ r \ n「。

編輯:原正則表達式曾在它+,你肯定不希望這將完全消除,除了最後一行和任何下腳料一切 - 一個決定性的次優結果。)

請注意,這樣,你很可能會分裂內部的話,所以它可能看起來很醜。

如果這確實應該是可讀的文本,那麼您應該更多地考慮文字包裝。有點googling出現functionscouple;或者如果這是一個文本框,您可以打開WordWrap property

此外,請通過regular-expressions.info查看.Net page。這是迄今爲止我知道的正則表達式的最佳參考網站。 (Jan Goyvaerts在SO上,但沒有人告訴我這麼說)。

相關問題