2015-06-26 39 views
0

我需要使用Ant分割和處理字符串。在Ant中分割字符串

的要求是:我在我的Ant文件

  1. 用戶名以下屬性=用戶名
  2. 密碼=密碼
  3. ConnectString中= jdbc.oracle:薄@ TESTDB:1521:db11g

我需要操縱ConnectString: jdbc.oracle:thin:userName/[email protected]:1521:db11g

任何指針都會非常有幫助。

回答

2

爲什麼不構建你的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)和屬性操縱螞蟻API,F.E. :

<project> 
<property name="UserName" value="userName"/> 
<property name="Password" value="password"/> 
<property name="ConnectString" value="jdbc.oracle:[email protected]: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/[email protected]:1521:db11g 
+0

非常感謝Rebse。事實上,用戶將以該格式輸入所有3個字符串,因此需要動態更改它 –