1

我正在尝试解析具有 csv 分隔记录的日志文件。所有行将被分成 8 个字段。在某些行中,最后一个字段 Field8 有额外的逗号,必须忽略(不应分开)。问题行如下(注意 Field8):

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

我不能要求更改日志格式。有没有办法从 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

4

2 回答 2

1

不,这是不可能的。但我认为它可能是一个有效的用例,我认为过去其他一些人曾问过。

我已经记录了一张票,以便将来改进 https://issues.apache.org/jira/browse/CAMEL-6381

于 2013-05-20T06:22:26.807 回答
0

在骆驼中,您可以使用拆分器来拆分消息正文。在这种情况下,您可以在拆分器中使用正则表达式,如拆分器文档中所述。

于 2013-05-19T20:48:24.087 回答