首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分叉修剪蚂蚁?

分叉修剪蚂蚁?
EN

Stack Overflow用户
提问于 2014-10-06 10:51:06
回答 2查看 2.2K关注 0票数 0

诚实的。蚂蚁对我来说是新的。

我有一根绳子。

我需要使用这个字符串,比如说(A;B;C;),作为

A、B、C

但我也需要循环这些值,并将它们传递给另一个蚂蚁目标!

循环A,然后是B,最后是C

字符串中的值数目也是随机的。我搜索了一下网络,发现蚂蚁很容易就能找到它。

但就像往常一样,我不能用蚂蚁,因为其他人的一些原因。

如有任何帮助,将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-06 11:40:33

脚本任务与内置javascript引擎一起使用(自Java1.6.06以来就包括在内,因此不需要额外的库或ant加载项)和对api的完全访问。这里有一个非常简单的片段:

代码语言:javascript
复制
<project>

 <property name="foo" value="A;B;C"/>

 <script language="javascript">
  <![CDATA[
  // a simple String replace action
  var clean = project.getProperty('foo').replace(';', ' ');
  println(clean);

  // create a property for further processing in the buildscript
  project.setProperty('foobar', project.getProperty('foo').replace(';', ' '));

  // for loop
  var items = project.getProperty('foo').split(';');
  for (var i = 0; i < items.length; i++) {
   println(items[i]);
  }
  ]]>
 </script>

 <echo> $${foobar} => ${foobar}</echo>

</project>

产出:

代码语言:javascript
复制
[script] A B C
[script] A
[script] B
[script] C
[echo]  ${foobar} => A B C

为了重用,将脚本包装在中。

--评论后编辑--

可以通过编程方式调用ant任务,例如使用回波任务

代码语言:javascript
复制
<project>

 <property name="foo" value="A;B;C"/>

 <script language="javascript">
  <![CDATA[
  // for loop
  var items = project.getProperty('foo').split(';');
  for (var i = 0; i < items.length; i++) {
    print = project.createTask("echo");
    print.addText(items[i]);
    print.execute();
  }
  ]]>
 </script>

</project>

产出:

代码语言:javascript
复制
[echo] A
[echo] B
[echo] C
票数 3
EN

Stack Overflow用户

发布于 2017-03-08 19:55:32

你可以用反排骨:

代码语言:javascript
复制
 <antcontrib:propertyregex property="trimmedprop"
     input="${untrimmedprop}"
     defaultValue="${untrimmedprop}"
     regexp="\s"
     replace=""
     global="true" />

对于拆分,我猜您将使用一个" For“循环,您也可以通过反竞争来实现这个目的:

代码语言:javascript
复制
 <property name="letters" value="a,b,c,d,e"/>

 <antcontrib:for list="${letters}" param="letter">
  <echo>Letter ${letter}</echo>
 </antcontrib:for>

要在你的项目中获得反竞争:

代码语言:javascript
复制
 <project default="test" xmlns:antcontrib="antlib:net.sf.antcontrib">
    <typedef resource="net/sf/antcontrib/antlib.xml" uri="antlib:net.sf.antcontrib" classpath="/local/path/to/ant-contrib-1.0b3.jar" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26214662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档