2

/repo/java/projects/myprojAntプロパティなどのファイルパスがあります。結果を削除して別のプロパティに/repo/java保存するにはどうすればよいですか?projects/myproj

4

1 に答える 1

4

pathconvertAntタスクは、パスから最初の2つのディレクトリを削除する(または最初の2つのディレクトリを取得する)ためにネストされた状態で使用できますmapper

プレフィックスを削除する/repo/java/

'/'ファイル区切り文字に一致

<property name="path" value="/repo/java/projects/myproj"/>

<target name="test1">
  <pathconvert property="path.fragment" pathsep="${line.separator}">
    <propertyresource name="path" />
    <mapper type="regexp"
        from="^/[^/]+/[^/]+/(.*)"
        to="\1"/>
  </pathconvert>
  <echo message="${path.fragment}" />
</target>

出力

test1:
     [echo] projects/myproj

BUILD SUCCESSFUL
Total time: 0 seconds

プラットフォームファイルセパレータに一致

<property name="path" value="/repo/java/projects/myproj"/>

<target name="test2">
  <pathconvert property="path.fragment" pathsep="${line.separator}">
    <propertyresource name="path" />
    <mapper type="regexp"
        from="^${file.separator}[^${file.separator}]+${file.separator}[^${file.separator}]+${file.separator}(.*)"
        to="\1"/>
  </pathconvert>
  <echo message="${path.fragment}" />
</target>

出力

test2:
     [echo] projects/myproj

BUILD SUCCESSFUL
Total time: 0 seconds

プレフィックスを取得/repo/java/

'/'ファイル区切り文字に一致

<property name="path" value="/repo/java/projects/myproj"/>

<target name="test3">
  <pathconvert property="path.fragment" pathsep="${line.separator}">
    <propertyresource name="path" />
    <mapper type="regexp"
        from="^(/[^/]+/[^/]+/).*"
        to="\1"/>
  </pathconvert>
  <echo message="${path.fragment}" />
</target>

出力

test3:
     [echo] /repo/java/

BUILD SUCCESSFUL
Total time: 0 seconds

プラットフォーム固有のファイルセパレータに一致

<property name="path" value="/repo/java/projects/myproj"/>

<target name="test4">
  <pathconvert property="path.fragment" pathsep="${line.separator}">
    <propertyresource name="path" />
    <mapper type="regexp"
        from="^(${file.separator}[^${file.separator}]+${file.separator}[^${file.separator}]+${file.separator}).*"
        to="\1"/>
  </pathconvert>
  <echo message="${path.fragment}" />
</target>

出力

test4:
     [echo] /repo/java/

BUILD SUCCESSFUL
Total time: 0 seconds
于 2012-08-23T23:49:49.580 に答える