从Ant任务中删除带有正则表达式的新行

Chr*_*ncy 3 regex ant newline

我已经发布到2个论坛(CodeRanch和nabble)并且没有人回复了答案....所以堆栈溢出......你是我最后的希望.我要做的就是使用Ant任务从文件中删除"\n".文件中只有一堆空行,我不再需要它们了......这是我使用的代码..

    <replaceregexp file="${outputFile}"
     match="^[ \t\n]+$"
     replace=""
     byline="true"/>
Run Code Online (Sandbox Code Playgroud)

它没有拿起正则表达式,我尝试了一百种不同的方法,我无法弄明白.有任何想法吗?

Ale*_*yak 12

您可以使用一个FilterChain(具体为IgnoreBlank TokenFilter)做的正是你所需要的:

<copy file="${input.file}" toFile="${output.file}">
  <filterchain>
    <ignoreblank/>
  </filterchain>
</copy>
Run Code Online (Sandbox Code Playgroud)

ignoreblank 还会删除完全由空格组成的行,但是看看你的正则表达式似乎就是你想要的.


Bor*_*ard 5

这有效:

<replaceregexp file="..."
               match="(\r?\n)\s*\r?\n" 
               flags="g"
               replace="\1" />
Run Code Online (Sandbox Code Playgroud)

重点是手动和全局匹配行结束(flags="g").