我有一个非常长的字符串。我想每80个字符添加一个换行符。是否有正则表达式替换模式我可以用来每80个字符插入“\ r \ n”?如果重要的话,我正在使用C#。
我想避免使用循环。
我不需要担心一言不发。我只想每80个字符插入一次换行。
答案 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,但是没有人告诉我这么说。)