我有一个包含多个换行符的文本/字符串。如下例所示:
"This is a test message : \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
"
我可以用空格gsub所有\n
并将它们全部删除。我该怎么做:
\n
,请在文字中只留下两个换行符?答案 0 :(得分:1)
您可以使用以下正则表达式替换三个或更多新行中的任何序列,两者之间没有任何内容(假设s
包含你的字符串):
s.gsub /\n\n+/, "\n\n"
如果您想在换行符之间允许任意数量的交错空格字符并删除它,请更好地使用:
s.gsub /\n *(\n *)+/, "\n\n"
答案 1 :(得分:1)
如果您要删除除前两个换行符之外的所有换行符,可以使用传递给gsub
的块:
hits = 0
text.gsub(/\n/) { (hits = hits + 1) > 2 ? '' : "\n" }
# => "This is a test message : \n \n "