如何通过Ant获取文件中的每个子字符串



我有一个文件,包含以下以"|"分隔的字符串行,

C:TempdemoAAA.dat   |    C:testinputAAA.dat
C:TempbuildBBB.bat  |    C:testjavaBBB.bat
C:TemptestCCC.xml   |    C:AppsftpCCC.xml

读取每行后,我希望提取出以"|"分隔的每个字符串,比如,在我得到第一行之后,我需要得到C:TempdemoAAA.dat和C:testinputAAA.dat;请帮助我如何使用蚂蚁来做??

我使用下面的代码,我只能得到每一行:

<loadfile property="filelist" srcfile="C:Tempfile1.txt"/>
<target name="test" depends="chkInput" description="test">
    <for param = "line" list="${filelist}" delimiter="${line.separator}"> 
       <sequential> 
            <echo>@{line}</echo> 
       </sequential> 
    </for> 
</target>

不是每个子字符串由"|"分隔,请帮助如何得到每个子字符串由"|"分隔?

一旦您有了行,您可以使用<propertyregex>将这两部分分开。

<for param = "line" list="${filelist}" delimiter="${line.separator}"> 
   <sequential> 
        <echo>@{line}</echo>
        <var name="first.part" unset="true"/>
        <var name="second.part" unset="true"/>
        <propertyregex
            property="first.part"
            input="@{line}"
            regex="^([^s]*)"
            select="1"/>
        <propertyregex
            property="second.part"
            input="@{line}"
            regex="|s*([^s]*).*$"
            select="1"/>
   </sequential> 
</for>

注意,您必须使用<var/>任务来取消属性(否则,您不会更改属性),或者使用新任务来声明该属性是<sequential/>实体的本地属性。

相关内容

  • 没有找到相关文章

最新更新