2012-02-16 7 views
0

私はコンソールにラインと出力ラインによってそれを、それを読み取ることができたよう文字列を分割して特定の要素を抽出する方法は?

20 19:0.26 85:0.36 1064:0.236 # 750 

としてラインから構成ファイルを有します。しかし、私が本当に必要とするのは、各行から「19:0.26」「85:0.36」のような要素を抽出し、それらの上で特定の操作を実行することです。どのように線を分割し、私が欲しい要素を取得する。そして、あなたはその方法find()を使用して、このパターン端からのMatcherオブジェクトを作成することができます

Pattern.compile("\\d+:\\d+\\.\\d+"); 

+0

をこのコードを変更します。また、0.36を? – sgowd

+0

はこの場合の区切り文字ですか? –

答えて

2

は、正規表現を使用してください。

0

Javaの文字列は、あなたがしたい場合は、のオフに分割する特定の文字を一致させることができるようにあなたが正規表現を使用することができます

String [] stringArray = "some string".split(" "); 

を呼び出すことができsplitメソッドを持っています。

文字列ドク:(正規表現を作るために使用される) http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

パターンドク: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

0

データの行の解析は、データのようなもので、それがどのように一貫性のあるものに大きく依存します。純粋にあなたの例のデータを、あなたが言及していること「のような要素」から、これは同じくらい簡単

として
String[] parts = line.split(" "); 
0

可能性がありますが、1064年必要、あなたのあたりのよう

public class JavaStringSplitExample{ 

    public static void main(String args[]){ 

    String str = "one-two-three"; 
    String[] temp; 

    /* delimiter */ 
    String delimiter = "-"; 
    /* given string will be split by the argument delimiter provided. */ 
    temp = str.split(delimiter); 
    /* print substrings */ 
    for(int i =0; i < temp.length ; i++) 
    System.out.println(temp[i]); 

    /* 
    IMPORTANT : Some special characters need to be escaped while providing them as 
    delimiters like "." and "|". 
    */ 

    System.out.println(""); 
    str = "one.two.three"; 
    delimiter = "\\."; 
    temp = str.split(delimiter); 
    for(int i =0; i < temp.length ; i++) 
    System.out.println(temp[i]); 

    /* 
    Using second argument in the String.split() method, we can control the maximum 
    number of substrings generated by splitting a string. 
    */ 

    System.out.println(""); 
    temp = str.split(delimiter,2); 
    for(int i =0; i < temp.length ; i++) 
    System.out.println(temp[i]); 

    } 

} 
関連する問題