2016-11-12 130 views
0

我有一個字符串"4612 CMP Computer Science Java II CMP110 A- 010"這是一門課程。我需要獲得「計算機科學」和「Java II」位。我認爲最簡單的方法是將它分成包含標籤的數組。Java在空格處拆分字符串但保留製表符

之後4612是一個選項卡,以及科學和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)); 
    } 
相關問題