.doc 파일 이름을 가져 와서 다음 속성 (pdf.name
)에 저장하고 싶습니다. 이에ANT 공백 제거 regexp
NAME FILE.doc
:
<propertyregex override="yes" property="pdf.name" input="@{remoteDocToPdf}"
regexp="\.*([[^/]+$^\.]*)\.doc" select="\1.pdf" casesensitive="true" />
.doc 파일 이름을 가져 와서 다음 속성 (pdf.name
)에 저장하고 싶습니다. 이에ANT 공백 제거 regexp
NAME FILE.doc
:
<propertyregex override="yes" property="pdf.name" input="@{remoteDocToPdf}"
regexp="\.*([[^/]+$^\.]*)\.doc" select="\1.pdf" casesensitive="true" />
NAMEFILE.pdf
이 내 코드입니다 나는 .doc 파일 이름의 모든 공백을 제거하고이에서를 변환하는 정규 표현식을 원하는 사용
@{remoteDocToPdf}
에 파일 이름 만 있고 절대 경로가 아닌 경우 게시 한 파일 다음에이 지시문을 추가하여 파일 이름의 공백을 제거 할 수 있습니다.
select
또는
<propertyregex...
당
replace
를 지정할 수 있기 때문에, 한 번에>
.pdf
변환 -
<propertyregex override="yes" property="pdf.name" input="${pdf.name}"
regexp=" " replace="" global="true" />
그것은 공간을 삭제하고 .doc
을 할 수 없습니다.
편집 1 : 나는 위에서 global="true"
를 추가 놓친, 그래서 첫 번째 공간 (최소의 documentation에 따라) 교체되었을 것입니다.
편집 2 :에 참고 <propertyregex...
당신이 게시 한 -이 의도 한대로 제대로 작동하더라도 나는, 정규 표현식 \.*([[^/]+$^\.]*)\.doc
당신이 원하는 것을 정말 아니라고 확신 해요. 귀하의 의견을 통해 나는 .doc
을 .pdf
으로 대체하고 싶다고 생각합니다. 이 경우, 대신을 사용하십시오 :
<propertyregex override="yes" property="pdf.name" input="@{remoteDocToPdf}"
regexp="\.doc$" replace=".pdf" />
을 정규 표현식에 읽어 싶은 경우에, 나는 this tutorial를 읽고 추천 할 수 있습니다.
대단히 감사합니다! –
안녕하세요. - 내 답변이 도움이 되었다면, 받아주세요. :) – zb226
이렇게하려면 Ant resources을 사용하는 것이 좋습니다. 이것은 당신이 필요 가까운 수 있습니다 : 공백을 제거 하나, 및 파일 확장자를 변경 한 :
<loadresource property="pdf.name">
<string value="${remoteDocToPdf}" />
<filterchain>
<deletecharacters chars=" " />
<replaceregex pattern=".doc$" replace=".pdf" />
</filterchain>
</loadresource>
작품은 두 개의 필터로 구성된 filterchain에 의해 수행되고있다.
'@ {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 –