如何使用正则表达式来删除两行之间的空格?
问题描述:
我输入的文件中像这样如何使用正则表达式来删除两行之间的空格?
Header1,,,,,,,,,,,
c1 , c2 , c3 ,,,,
22-02-2017,1-2,10,,,,
22-02-2017,2-3,11,,,,
22-02-2017,4-6,10,,,,
22-02-2017,5-8,11,,,,
我需要的正则表达式才达到预期的输出如下:
Header1,,,,,,,,,,,
c1 , c2 , c3 ,,,,
22-02-2017,1-2,10,,,,
22-02-2017,2-3,11,,,,
22-02-2017,4-6,10,,,,
22-02-2017,5-8,11,,,,
我想这正则表达式搜索\ S \ n的REplaceTExt和重置价值为\ n。
更换后的文本输出内容,如下面,
Header1,,,,,,,,,,,c1 , c2 , c3 ,,,,22-02-2017,1-2,10,,,,22-02-2017,2-3,11,,,,22-02-2017,4-6,10,,,,
但我的正则表达式中regexr网站完美。
是否有任何其他的正则表达式来查找空行前和空行的合并后的行?
答
萨赫勒的解决方案并不像精致的,因为它可以:
您可以使用此模式相匹配:\n+\s
与\n
取代。 Demo
这将以较少的步骤提供相同的结果。
用这个非常简单的任务记住的要点是使用“替代品”(管道|
)为您的模式添加了步骤,应尽可能避免使用这些步骤。
如果需要替代品,请将替代品从最短到最长 - 这将提供更高的效率。
最后,不要在模式中重复字符,使用量词 - 这又会提高性能。当比较\n\n\s|\n\s
与\n{2}\s|\n\s
时,后者将仅使用{2}
量词而胜过前者。
你用什么命令编辑文件? (即。sed,perl,...) – grail
不,我没有使用任何命令。我只是在regexr网站只匹配 –
所以你的目标是编辑文件或其他东西? – grail