Если @{remoteDocToPdf}
содержит только имя файла, а не абсолютный путь, вы можете удалить пробелы в имени файла, добавив эту директиву после того, как вы опубликовали:
<propertyregex override="yes" property="pdf.name" input="${pdf.name}"
regexp=" " replace="" global="true" />
Это невозможно удалить пробелы и сделать .doc
- преобразование>.pdf
на одном дыхании, так как вы можете только указать либо select
или replace
за <propertyregex...
.
Редактировать 1: я пропустил добавление к global="true"
выше, так что только первое пространство было бы заменить (в соответствии с documentation, по крайней мере).
Edit 2: записку на <propertyregex...
ты отвечал - я уверен, что регулярное выражение \.*([[^/]+$^\.]*)\.doc
не совсем то, что вы хотите, даже если это может показаться, что работать, как предполагалось. Из вашего комментария я предполагаю, что все, что вы хотите сделать, это заменить .doc
на .pdf
. В этом случае, пожалуйста, используйте вместо этого:
<propertyregex override="yes" property="pdf.name" input="@{remoteDocToPdf}"
regexp="\.doc$" replace=".pdf" />
Если вы хотите читать на регулярных выражениях, я рекомендую прочитать this tutorial.
Имеет ли 'input'' @ {remoteDocToPdf} 'абсолютный путь, например'/var/run/myapp/NAME FILE.doc', или просто имя файла, например 'NAME FILE.doc'? – zb226
Привет, zb226, это просто имя файла. ИМЯ ФАЙЛА XXX XXX.doc –
См. Http://stackoverflow.com/questions/1176071/replacing-characters-in-ant-property –