我有2个文件:
read.txt:
我的名字是= joy
我的年龄= 18
write.txt:
在这里粘贴我的名字:
在这里粘贴我的年龄:
因此,我应该能够从所需位置从Read.txt中读取名称(Joy)和年龄(18)(它将出现在'='之后),然后将它们写入所需位置的write.txt(之后)':')成功构建后。我需要这样的正则吗?
我们可以使用ANT脚本执行此操作吗?
在您的read.txt文件中使用无效的属性名称,您必须做一些更复杂的事情。
使用loadfile
任务,您可以加载文件的全部内容并根据需要格式化:
<target name="write-to-file">
<loadfile srcfile="read.txt" property="output">
<filterchain>
<tokenfilter>
<replacestring from="My name is=" to="Paste my name here:" />
<replacestring from="My age is=" to="Paste my age here:" />
</tokenfilter>
</filterchain>
</loadfile>
<echo file="write.txt" message="${output}" />
</target>
如果您需要获取名称和年龄的特定值(也许以后在脚本中使用),则必须加载两次并过滤所需的零件:
<target name="load-lines">
<loadfile srcfile="read.txt" property="my.name">
<filterchain>
<linecontains>
<contains value="My name is" />
</linecontains>
<tokenfilter>
<replacestring from="My name is=" to="" />
</tokenfilter>
</filterchain>
</loadfile>
<loadfile srcfile="read.txt" property="my.age">
<filterchain>
<linecontains>
<contains value="My age is" />
</linecontains>
<tokenfilter>
<replacestring from="My age is=" to="" />
</tokenfilter>
</filterchain>
</loadfile>
<echo file="write.txt" message="Paste my name here:${my.name}${line.separator}Paste my age here:${my.age}" />
</target>