在ANT中使用正则表达式拆分列表



输入字符串:-[abc,xyz,mnp,aox,3ds,k42][brf,fd3,asd,45s,tsd]

我想像一样分别打印两个列表

列表1:-abcxyzmnpaox3dsk42

列表2:-brffd3asd45秒tsd

目前,我只能用下面的代码打印第一个列表。

<propertyregex property="lists" input="${inputString}" regexp="[(.*)]" select="1" casesensitive="false" global="true" />
<echo>list 1 :-</echo>
<for list="${lists}" param="gv">
   <sequential><echo>@{gv}</echo></sequential>
</for>

请帮助我如何解决这个问题。

谨致问候,Suresh

不需要像antcontrib这样的额外库,使用内置的javascript引擎(Java>=1.6.0_06)
与这样的ant脚本任务:

<project>
 <property name="foobar" value="[abc,xyz,mnp,aox,3ds,k42] [brf,fd3,asd,45s,tsd]"/>
 <script language="javascript">
 <![CDATA[
   var lists = project.getProperty('foobar').split(' ');
   for (var i = 0; i < lists.length; i++) {
     var list = lists[i].replace('[', '').replace(']', '');
     var items = list.split(',').join().replace(/,/g, ' ') ;
     print('list ' + i + ': ' + items);
   }
 ]]>
 </script>
</project>

输出:

[script] list 0: abc xyz mnp aox 3ds k42
[script] list 1: brf fd3 asd 45s tsd

相关内容

  • 没有找到相关文章

最新更新