如何在Ant中复制期间删除非令牌?

时间:2011-07-25 18:28:13

标签: ant

我在构建过程中需要清理我需要的文件。有一个固定的字符串,我需要删除它出现的任何地方。正在复制文件,因此在该副本期间我尝试包括filterset,其中令牌是要删除的文本,值是空字符串。这不起作用,因为我将begintokenendtoken设置为空字符串,Ant不喜欢它。

这不是一次性操作,因此需要成为构建过程的一部分。这些文件包含SQL INSERT语句,用于在运行时填充表。每行引用模式和表名,我只需要表名,例如

insert into Schema1.Table1 ...

应该是

insert into Table1 ...

谢谢!

1 个答案:

答案 0 :(得分:2)

使用带有tokenfilter的嵌套过滤链,类似=

<copy todir="...">
 <fileset dir="..." />
  <filterchain>
   <tokenfilter>
    <replacestring from="Schema1." to="" />
   </tokenfilter>
  </filterchain>
</copy>

如果你需要regexp替换使用=

...
<tokenfilter>
 <replaceregex pattern="..." replace="..." flags="".../>
</tokenfilter>
...

代替。