如果@{remoteDocToPdf}
仅携带文件名而不是绝对路径,则可以通过在您发布的指令后添加此指令来删除文件名中的空格:
<propertyregex override="yes" property="pdf.name" input="${pdf.name}"
regexp=" " replace="" global="true" />
这是无法删除的空间,做.doc
- >.pdf
改造一气呵成,因为你只能要么指定select
或replace
每<propertyregex...
。
编辑1:我错过添加global="true"
上述之外,所以只有第一空间将已被替换(根据documentation,至少)。
编辑2:在便笺上的<propertyregex...
你张贴 - 我敢肯定,正则表达式\.*([[^/]+$^\.]*)\.doc
是不是真的你想要什么,尽管它可能看起来如预期工作。从你的评论我猜你只是想用.pdf
取代.doc
。在这种情况下,请改用此:
<propertyregex override="yes" property="pdf.name" input="@{remoteDocToPdf}"
regexp="\.doc$" replace=".pdf" />
如果你想在正则表达式读了,我可以推荐阅读this tutorial。
'@ {remoteDocToPdf}'的'input'是否携带'/ var/run/myapp/NAME FILE.doc'这样的绝对路径,或者只是一个像'NAME FILE.doc'这样的文件名? – zb226
嗨zb226,它只是文件名。名称文件XXX XXX.doc –
请参阅http://stackoverflow.com/questions/1176071/replacing-characters-in-ant-property –