2016-11-12 5 views
0

私はコースである文字列"4612 CMP Computer Science Java II CMP110 A- 010"を持っています。私は "コンピュータサイエンス"と "Java II"のビットを取得する必要があります。私はそれを行う最も簡単な方法は、タブを含む配列に分割することだと思います。空白でJavaの分割文字列がタブを維持する

4612がタブとなってからは、ScienceとJavaの間にタブがあります。

string[0] = 4612 
string[1] = " " 
string[2] = CMP 
string[3] = Computer 
string[4] = Science 
string[5] = " " 
string[6] = Java 
string[7] = II 
string[8] = CMP110 
string[9] = A- 
string[10] = 010 

答えて

-1

使用::私はこのような配列を取得し、それを分割したい

String[] subject = line.split("\t",line.length()); 

は私が必要なものを引き出すことができます。もちろん、文字列が明確に定義されたフォーマットを持っていると思われるので

+0

どちらもあなたの質問に明確な答えでもある、例えば:関連情報を抽出する正規表現を使用することができます。 –

1

は、あなたも

final String course = "4612\tCMP Computer Science\tJava II CMP110 A- 010"; 
    final Pattern pattern = Pattern.compile("^\\d+\tCMP\\s+([^\t]+)\t(.+?)\\s+CMP.*$"); 
    final Matcher matcher = pattern.matcher(course); 

    if (matcher.matches()) { 
     System.out.println("Course name: " + matcher.group(1) + " " + matcher.group(2)); 
    } 
関連する問題