输入字符串: - [ABC,XYZ,MNP,AOX,3DS,K42] [BRF,FD3,ASD,45S,TSD]
我想单独打印两个列表,如
清单1: - ABC XYZ MNP AOX 3DS K42
清单2: - BRF FD3 ASD 45S 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>
请帮助我如何解决此问题。
此致 苏雷什
答案 0 :(得分:1)
不需要像antcontrib这样的其他库,使用内置的javascript引擎(Java&gt; = 1.6.0_06)
与ant script task这样:
<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