在 Ant 中拆分字符串
Split a string in Ant
我需要使用 Ant 拆分和操作字符串。
要求是:我的 ant 文件中有以下属性
- 用户名=用户名
- 密码=密码
- ConnectString=jdbc.oracle:thin@testdb:1521:db11g
我需要操纵 ConnectString 来:
jdbc.oracle:瘦:userName/password@testdb:1521:db11g
任何指点都会很有帮助。
为什么不那样构建您的 ConnectString 属性? :
<property name="UserName" value="userName"/>
<property name="Password" value="password"/>
<property name="ConnectString" value="jdbc.oracle:thin:${UserName}/${Password}@testdb:1521:db11g"/>
否则使用内置 javascript 引擎的脚本任务 (JDK >= 1.6.0_06) 和 ant api 进行 属性 操作,f.e。 :
<project>
<property name="UserName" value="userName"/>
<property name="Password" value="password"/>
<property name="ConnectString" value="jdbc.oracle:thin@testdb:1521:db11g"/>
<script language="javascript">
a = project.getProperty('ConnectString').split('@')
// to overwrite existing ConnectString property use
// project.setProperty('ConnectString' ...);
project.setProperty('foo', a[0] + ':' + project.getProperty('UserName') +
'/' + project.getProperty('Password') + '@' + a[1]);
</script>
<echo>$${foo} => ${foo}</echo>
</project>
输出:
[echo] ${foo} => jdbc.oracle:thin:userName/password@testdb:1521:db11g
我需要使用 Ant 拆分和操作字符串。
要求是:我的 ant 文件中有以下属性
- 用户名=用户名
- 密码=密码
- ConnectString=jdbc.oracle:thin@testdb:1521:db11g
我需要操纵 ConnectString 来: jdbc.oracle:瘦:userName/password@testdb:1521:db11g
任何指点都会很有帮助。
为什么不那样构建您的 ConnectString 属性? :
<property name="UserName" value="userName"/>
<property name="Password" value="password"/>
<property name="ConnectString" value="jdbc.oracle:thin:${UserName}/${Password}@testdb:1521:db11g"/>
否则使用内置 javascript 引擎的脚本任务 (JDK >= 1.6.0_06) 和 ant api 进行 属性 操作,f.e。 :
<project>
<property name="UserName" value="userName"/>
<property name="Password" value="password"/>
<property name="ConnectString" value="jdbc.oracle:thin@testdb:1521:db11g"/>
<script language="javascript">
a = project.getProperty('ConnectString').split('@')
// to overwrite existing ConnectString property use
// project.setProperty('ConnectString' ...);
project.setProperty('foo', a[0] + ':' + project.getProperty('UserName') +
'/' + project.getProperty('Password') + '@' + a[1]);
</script>
<echo>$${foo} => ${foo}</echo>
</project>
输出:
[echo] ${foo} => jdbc.oracle:thin:userName/password@testdb:1521:db11g