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

时间:2009-06-01 21:51:58

标签: c# regex

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

我想避免使用循环。

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

1 个答案:

答案 0 :(得分:5)

我不知道确切的C#名称,但它应该类似于

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

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

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

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

如果这确实应该是可读文本,你应该更多地考虑自动换行。一点点googling出现couple functions;或者如果这是一个文本框,您只需打开WordWrap property

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