如何使用正则表达式添加换行符?

Chr*_*ris 0 c# regex

我有一个非常长的字符串.我想每80个字符添加一个换行符.是否有正则表达式替换模式我可以用来每80个字符插入"\ r \n"?如果重要,我正在使用C#.

我想避免使用循环.

我不需要担心一言不发.我只想每80个字符插入一次换行符.

Mic*_*ers 5

我不知道确切的C#名称,但应该是这样的

str.Replace("(.{80})", "$1\r\n");
Run Code Online (Sandbox Code Playgroud)

想法是抓取80个字符并将其保存在一个组中,然后将其放回(我认为"$ 1"是正确的语法)以及"\ r \n".

(编辑:原始的正则表达式中有一个+,你绝对不需要.这将完全消除除了最后一行和任何剩余部分之外的所有内容 - 一个明显不理想的结果.)

请注意,通过这种方式,您很可能会在单词内部进行拆分,因此看起来很丑陋.

如果这确实应该是可读文本,你应该更多地考虑自动换行.小谷歌搜索变成了一对夫妇功能 ; 或者如果这是一个文本框,您只需打开WordWrap属性即可.

另外,请访问regular-expressions.info 查看.Net页面.到目前为止,它是我所知道的正则表达式的最佳参考站点.(Jan Goyvaerts是SO,但是没有人告诉我这么说.)