Regex 蚂蚁的分裂和修剪?
诚实的。蚂蚁对我来说是新的 我有一根绳子 我需要使用这个字符串,比如(A;B;C;),作为 A B C 但我还需要循环这些值并将它们传递给另一个ant目标 循环一次 然后是B,最后是C 字符串中的值的数量也是随机的。 我搜索了一下网络,发现使用ant contrib很容易做到这一点 但像往常一样,由于其他人的原因,我不能使用ant contrib 任何帮助都将不胜感激 感谢您与内置javascript引擎一起使用(自Java 1.6.06开始提供,因此不需要额外的库或ant插件) 以及对AntAPI的完全访问。这里有一个非常简单的片段:Regex 蚂蚁的分裂和修剪?,regex,ant,Regex,Ant,诚实的。蚂蚁对我来说是新的 我有一根绳子 我需要使用这个字符串,比如(A;B;C;),作为 A B C 但我还需要循环这些值并将它们传递给另一个ant目标 循环一次 然后是B,最后是C 字符串中的值的数量也是随机的。 我搜索了一下网络,发现使用ant contrib很容易做到这一点 但像往常一样,由于其他人的原因,我不能使用ant contrib 任何帮助都将不胜感激 感谢您与内置javascript引擎一起使用(自Java 1.6.06开始提供,因此不需要额外的库或ant插件) 以及对AntA
<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>
为了重复使用,请将脚本包装在一个文件中。--评论后编辑--
可以通过编程方式调用ant任务,例如使用:
与内置javascript引擎一起使用(从Java 1.6.06开始提供,因此不需要额外的库或ant插件) 以及对AntAPI的完全访问。这里有一个非常简单的片段:
<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>
为了重复使用,请将脚本包装在一个文件中。--评论后编辑--
可以通过编程方式调用ant任务,例如使用:
与内置javascript引擎一起使用(从Java 1.6.06开始提供,因此不需要额外的库或ant插件) 以及对AntAPI的完全访问。这里有一个非常简单的片段:
<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>
为了重复使用,请将脚本包装在一个文件中。--评论后编辑--
可以通过编程方式调用ant任务,例如使用:
与内置javascript引擎一起使用(从Java 1.6.06开始提供,因此不需要额外的库或ant插件) 以及对AntAPI的完全访问。这里有一个非常简单的片段:
<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>
为了重复使用,请将脚本包装在一个文件中。--评论后编辑--
可以通过编程方式调用ant任务,例如使用:
您可以使用antcontrib:
<antcontrib:propertyregex property="trimmedprop"
input="${untrimmedprop}"
defaultValue="${untrimmedprop}"
regexp="\s"
replace=""
global="true" />
对于拆分,我猜您将使用“For”循环,您也可以使用antcontrib:
<property name="letters" value="a,b,c,d,e"/>
<antcontrib:for list="${letters}" param="letter">
<echo>Letter ${letter}</echo>
</antcontrib:for>
字母${Letter}
要在项目中获得antcontrib,请执行以下操作:
<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" />
您可以使用antcontrib:
<antcontrib:propertyregex property="trimmedprop"
input="${untrimmedprop}"
defaultValue="${untrimmedprop}"
regexp="\s"
replace=""
global="true" />
对于拆分,我猜您将使用“For”循环,您也可以使用antcontrib:
<property name="letters" value="a,b,c,d,e"/>
<antcontrib:for list="${letters}" param="letter">
<echo>Letter ${letter}</echo>
</antcontrib:for>
字母${Letter}
要在项目中获得antcontrib,请执行以下操作:
<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" />
您可以使用antcontrib:
<antcontrib:propertyregex property="trimmedprop"
input="${untrimmedprop}"
defaultValue="${untrimmedprop}"
regexp="\s"
replace=""
global="true" />
对于拆分,我猜您将使用“For”循环,您也可以使用antcontrib:
<property name="letters" value="a,b,c,d,e"/>
<antcontrib:for list="${letters}" param="letter">
<echo>Letter ${letter}</echo>
</antcontrib:for>
字母${Letter}
要在项目中获得antcontrib,请执行以下操作:
<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" />
您可以使用antcontrib:
<antcontrib:propertyregex property="trimmedprop"
input="${untrimmedprop}"
defaultValue="${untrimmedprop}"
regexp="\s"
replace=""
global="true" />
对于拆分,我猜您将使用“For”循环,您也可以使用antcontrib:
<property name="letters" value="a,b,c,d,e"/>
<antcontrib:for list="${letters}" param="letter">
<echo>Letter ${letter}</echo>
</antcontrib:for>
字母${Letter}
要在项目中获得antcontrib,请执行以下操作:
<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" />
Hi@Rebse,工作非常顺利。有一件事我想知道我是否可以调用一个目标并传递值而不是println(items[i])->这可能吗?感谢您的回复。。。但是没有时间实施这个…直到现在。。。再次感谢youHi@Rebse,工作非常顺利。有一件事我想知道我是否可以调用一个目标并传递值而不是println(items[i])->这可能吗?感谢您的回复。。。但是没有时间实施这个…直到现在。。。再次感谢youHi@Rebse,工作非常顺利。有一件事我想知道我是否可以调用一个目标并传递值而不是println(items[i])->这可能吗?感谢您的回复。。。但是没有时间实施这个…直到现在。。。再次感谢youHi@Rebse,工作非常顺利。有一件事我想知道我是否可以调用一个目标并传递值而不是println(items[i])->这可能吗?感谢您的回复。。。但是没有时间实施这个…直到现在。。。再次感谢你