Ant 中截取字符串

在ant中,无法实现常见的字符串操作,比如截取、替换。我们可以借助ant-contrib中的propertyregex任务实现字符串的截取、替换.

下面的例子是在maven中运行ant,ant中来做字符串截取。

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-antrun-plugin</artifactId>
	<version>1.7</version>
	<executions>
		<execution>
			<id>generate-installer</id>
			<phase>install</phase>
			<configuration>
				<target>
					<ant antfile="${basedir}/build.xml">
						<target name="test" />
					</ant>
				</target>
			</configuration>
			<goals>
				<goal>run</goal>
			</goals>
		</execution>
	</executions>
	<dependencies>
		<dependency>
			<groupId>ant-contrib</groupId>
			<artifactId>ant-contrib</artifactId>
			<version>1.0b3</version>
			<exclusions>
				<exclusion>
					<groupId>ant</groupId>
					<artifactId>ant</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
</plugin>

 在build.xml中

<project name="ant substring string" default="test">
	<taskdef resource="net/sf/antcontrib/antlib.xml"/>
	<propertyregex property="project.db.version"
	              input="14.1.4.6"
	              regexp="(.*)\."
	              select="\3"
	              casesensitive="false" />
	<target name="test">
		<echo>project.db.version is ${project.db.version}</echo>
	</target>
</project>

 最重要的是在maven的plugin中加上dependency,并在build.xml中加上<taskdef resource="net/sf/antcontrib/antlib.xml"/>。

这个例子是把14.1.4.6截取为14.1.4

猜你喜欢

转载自luhantu.iteye.com/blog/2069978