如果@{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 –