2016-04-17 5 views
1

私はプログラムが他のプロジェクトを分析するはずのプロジェクトを作業しています、他のプロジェクトは特定のディレクトリにあります。今のプログラムは、全体のプロジェクト名を返すことができ文字列を2回トリミングして別の情報を取得する方法は?

ElasticSearch-1.0から20160417

PROJECTNAME-バージョンdownloadingDate例:プロジェクトは以下の標準に類似の下で名前が付けられます

private String projectName; 

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

を、ここで記述するためのメソッド呼び出しです:1つの文字列として、次の方法を使用して、CSVファイルに保存プロジェクトの名前:

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; 
    } 
} 

今私の質問は、私は三つの部分にプロジェクトの名前を分割し、CSVファイルに分け、それぞれ1を書くことができる方法ですか?

プロジェクト名、バージョン、ダウンロード日は?最初の " - "の前に位置する部分文字列と最初の " - "の後のバージョンから2番目の " - "の後の日付からプロジェクト名を取るべきであることを意味します。

どのようにすればいいですか?

ありがとう

答えて

3

string.splitメソッドを使用します。

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

多くの方におかげさまで、IT WORKS! :) – user5923402

関連する問題