首页 > 解决方案 > 如果重复超过 2 次,如何删除换行符?

问题描述

输入:"Some text \n\n\nSome text"

输出:"Some text \n\nSome text"

标签: ruby-on-railsruby

解决方案


您可以使用gsub以下方式替换 3 个或\n更多\n\n

str = "Some text \n\n\nSome text"

str.gsub(/\n{3,}/, "\n\n")
#=> "Some text \n\nSome text"

或者您可以使用积极的后视来匹配\n前面的 1 个或多个,\n\n并删除多余\n的:

str.gsub(/(?<=\n\n)\n+/, '')
#=> "Some text \n\nSome text"

推荐阅读