replace 可以替换某个文件中的字符串。
<?xml version="1.0" encoding="UTF-8"?> <project name="testCondition"> <replace file="testfile1.txt" token="hello" value="world"/> </project>
结果就把 testfile1.txt 中的 "hello" 替换成了 "world".
也可以批量处理:
<?xml version="1.0" encoding="UTF-8"?> <project name="testCondition"> <replace dir="." includes="*.txt" encoding="UTF-8"> <replacefilter token="this" value="that"/> <replacefilter token="o" value="00"/> </replace> </project>
就把当前文件夹下面所有 txt 文件按照指定的 filter 替换了。
我的一个例子:
<?xml version="1.0" encoding="UTF-8" ?> <!-- 替换static域名, 修改default属性, 替换成开发环境:replaceToDev 替换成“演示”环境:replaceToYs --> <project name="static" default="replaceToDev" basedir="../"> <!--要替换的内容--> <property name="dev" value="http://static.domain.com/" /> <property name="ys" value="http://ysstatic.domain.com/" /> <!-- 替换为开发 --> <target name="replaceToDev"> <replace dir="${basedir}/WebContent" token="${ys}" value="${dev}" includes="**/*.css,**/*.js,**/*.html"/> </target> <!-- 替换为“演示”--> <target name="replaceToYs"> <replace dir="${basedir}/WebContent" token="${dev}" value="${ys}" includes="**/*.css,**/*.js,**/*.html"/> </target> </project>
ant的replace也支持正则表达式