從documentation:
這個迭代器,也許更恰當地稱爲線條圖案迭代器,通過讀取一個文件,並返回每行一個實例,基於正則表達式。
如果你有表格的數據
[名] [標籤] [數據]
您感興趣的調用是
CsvIterator(java.io.Reader input, java.lang.String lineRegex,
int dataGroup, int targetGroup, int uriGroup)
第一個參數是如何將數據被讀入,就像文件讀取器或字符串讀取器一樣。第二個參數是用於從讀取器讀取每行數據的正則表達式。在你的榜樣,你有(\\w+)\\s+(\\w+)\\s+(.*)
翻譯爲:
- 1個或多個字母數字字符(捕獲組,這是實例的名稱),其次是
- 1個或多個空白字符(標籤,空間,..),隨後
- 1或多個字母數字字符(捕獲基團,這是標籤/目標),隨後
- 1個或多個空白字符(製表符,空間,..),隨後
- 0個或更多字符(這是數據)
數字3, 2, 1
表示數據最後出現,目標排在第二位,名稱先出現。正則表達式基本上確保每一行的格式如文檔中所述:
test1 spam Wanna buy viagra?
test2 not-spam Hello, are you busy on Sunday?
CsvIterator
是一種可怕的名稱,因爲它實際上不是逗號分隔的這個類讀取值,它是由空格隔開(空間,標籤,...)值。
極好的解釋! –
這是一個很好的解釋。它是否像One-vs-Rest類型的分類器一樣支持多個標籤? – brianray