2016-03-22 15 views
1

Ich suche, unerwünschte Whitespace von einer Variablen an Ort und Stelle zu entfernen (dh ohne es in eine Datei und so zu speichern). Kann mir jemand ein Makro oder eine Technik zeigen, die das können?ANT: Führende/nachfolgende Whitespace aus String entfernen

Ich habe derzeit

<macrodef name="trim"> 
      <attribute name="property"/> 
      <sequential> 
        <propertyregex 
          property="@{property}" 
          input="${@{property}}" 
          regexp="[\s]*(.+)[\s]*" 
          replace="\1" 
          override="true" 
        /> 
      </sequential> 
    </macrodef> 

Was ich wie so nennen

<for list="@{files}" delimiter="," param="val"> 
    <trim property="@{val}"/> 

Allerdings bedeutet dies den Job nicht machen. Irgendwelche Vorschläge?

Antwort

2

Die <for> task hat ein trim Attribut, das genau das tun, was Sie wollen:

Wenn das stimmt, jede führende oder nachfolgende Leerzeichen werden aus dem Listenelement entfernt werden, bevor es auf die sequentielle übergeben wird.

Ein Beispiel:

<for list="@{files}" delimiter="," param="val" trim="true"> 
    <sequential> 
    <echo>trimmed val: [email protected]{val}_</echo> 
    </sequential> 
</for>