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

wyyhbhjk  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(181)

我 有 一 个 很 长 的 字符 串 。 我 想 每 80 个 字符 添加 一 个 换行符 。 是否 有 正则 表达式 替换 模式 可以 用来 每 80 个 字符 插入 " \ r \ n " ? 如果 有 必要 , 我 使用 C # 。
我 想 避免 使用 循环 。
我 不 需要 担心 会 出现 在 单词 的 中间 , 我 只 想 每 隔 80 个 字符 插入 一 个 换行符 。

yshpjwxd

yshpjwxd1#

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

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

这个想法是抓取80个字符并将其保存在一个组中,然后将其与“\r\n”沿着放回组中(我认为“$1”是正确的语法)。
(**编辑:**原来的正则表达式中有一个+,这是您肯定不想要的。这将完全消除除了最后一行和任何剩余部分之外的所有内容--这显然是一个次优的结果。)
请注意,这种方法很可能会在单词内部拆分,因此看起来可能会很难看。
如果这确实是可读的文本,那么你应该更多地关注换行。或者如果这是一个文本框,您可以打开WordWrap property
另外,请在regular-expressions.info上查看.Net page。这是迄今为止我所知道的最好的正则表达式参考站点。(Jan Goyvaerts在SO上,但没有人告诉我这么说。)

相关问题