2013-05-17 108 views
1

我想解析一個具有csv分隔錄製文件的日誌文件。 所有行將被分成8個字段。 在某些行中,最後一個字段Field8有額外的逗號,這些逗號必須被忽略(不應該分開)。問題行如下(注意字段8):駱駝bindy csv字段concatination?

Test, Field2,5731960,Field4,,4,32,Field8 MyOp (abc,def ) 

我不能要求更改日誌格式。 有沒有一種方法在bindy中說從pos 8到pos 100,把它放在pos 8? 我更喜歡spring dsl。 我想避免自定義分析器,如果已經存在。

@CsvRecord(separator = ",") 
public class SysActivity{ 
    .... 
    @DataField(pos = 8, required = true) // is there a way I can mention pos8 till end of line 
    protected String logMessage; 
} 

使用駱駝10.0

回答

1

不,這是不可能的。但我認爲它可能是一個有效的用例,我認爲過去一些人已經問過這個用例。

我已經登錄票證以這在將來提高 https://issues.apache.org/jira/browse/CAMEL-6381

+0

謝謝,我會看看我是否可以使用一些其他組件實現這一點。 – Espresso

0

在駱駝可以以拆分郵件正文使用分離。在這種情況下,您可以在分隔符中使用正則表達式,如splitter文檔中所述。