2012-11-29 18 views
2

整個URL進行排序此鏈接:http://www.otc.edu/GEN/schedule/all_classes_fall.txt中包含用於我的大學,我想利用這個數據的所有並將其存儲在我創建了一個ClassInformationFall對象。基本上,這些課程以類似於以下格式的課程標題開始:「ABR-100-101」,並且擁有課程講師,發生的日期,開始/結束時間等。*正則表達式或其他方法*通過的所有文字

我寫了一些正則表達式來挑選課程名稱,以及一些更簡單的事情,比如開始和結束時間,但是我一直在努力嘗試將剩下的部分拿出來。我正在考慮在遇到另一個類標題時設置一些代碼,它會將以下文本添加到一個新的ClassInformationFall對象中,該對象將存儲在該類型的列表中。儘管如此,我仍然無法成功地提取構成課程的所有內容的所有數據。

什麼會挑選這些信息出來的正則表達式,或者是正則表達式甚至要走的路?

感謝您的幫助,這也難倒了我一段時間。

PS - 我正在使用Java開發應用程序。

+0

無法在沒有看到一些示例文本數據的情況下回答您的問題。我可能會逐行處理文件(查找某些字符串),而不是使用正則表達式......但很難說沒有看到該文件。可以推測,每條信息都有一個你需要搜索的字符串。如果是這樣,一個正則表達式可能不會做任何事情來幫助。 – jahroy

+0

@jahroy - 按照鏈接,你會看到文件。我看到的數據似乎更適合awk或perl處理。 –

+0

@jahroy是的,我提供了一個鏈接。無論如何,我必須在java中處理它。 –

回答

0

如果域總是以相同的順序,你可以通過標籤分割每行和處理結果數組。

String line = bufferedReader.readLine(); 

while (line != null) { 

    String[] data   = line.split("\\t+"); 
    String name   = data[0]; 
    String credits  = data[2]; 
    String description = data[3]; 
    String professor = data[11]; 

    ClassInfo ci = new ClassInfo(name, credits, description, professor); 
    classInfoList.add(ci); 

    line = bufferedReader.readLine(); 
} 
+0

非常感謝! –