2016-04-17 5 views
1

Ich arbeite ein Projekt, wo das Programm andere Projekte analysieren soll, die anderen Projekte befinden sich in einem bestimmten Verzeichnis. Die Projekte werden unter einer Standard ähnlich benannt wie folgt zusammen:Wie trimme ich eine Saite zweimal und bekomme verschiedene Infos?

Projektname-version-downloadingDate Beispiel:

Elasticsearch-1.0-20160417

jetzt kann das Programm das gesamte Projektnamen zurückkehren als eine Zeichenfolge und speichern Sie es in CSV-Datei, mit den folgenden Methoden:

private String projectName; 

public void setProjectName(String projectName){ 
    this.projectName = projectName; 
} 
public String getProjectName(){ 
    return projectName; 
} 

und hier ist der Methodenaufruf zum Schreiben der Name des Projekts:

private void writeReport() { 
    BufferedWriter out = null; 
    try { 
     File file = new File("out.csv"); 
     boolean exists = file.exists(); 
     FileWriter fstream = new FileWriter(file, exists /*=append*/); 
     out = new BufferedWriter(fstream); 
     if (!exists) { 
      out.write("File Name;"); 

      out.write(System.getProperty("line.separator")); 
     } 

     out.write(String.valueOf(newFiles.getProjectName()) + ";"); //method call 


     out.write(System.getProperty("line.separator")); 
     // } 

     //Close the output stream 
     out.close(); 
    } catch (Exception e) { 
     System.err.println("Error: " + e.getMessage()); 
     // return; 
    } 
} 

jetzt meine Frage ist, wie kann ich den Namen des Projekts in drei Teile aufgeteilt und schreiben jedes in der CSV-Datei getrennt?

der Projektname, die Version und das Downloaddatum? was bedeutet, dass es den Projektnamen von der Teilzeichenfolge vor dem ersten "-" und der Version nach dem ersten "-" und schließlich dem Datum nach dem zweiten "-" nehmen sollte?

irgendwelche Tipps, wie man das macht?

danke

Antwort

3

Verwenden Sie die string.split-Methode.

String string = "ElasticSearch-1.0-20160417"; 
String[] parts = string.split("-"); 
String projectName = parts[0]; // ElasticSearch 
String versionNumber= parts[1]; // 1.0 
String downloadDate= parts[2]; // 20160417 
+0

Vielen Dank Ihnen, Buddy, es funktioniert! :) – user5923402

Verwandte Themen