我正在尝试解析具有csv分隔recs的日志文件。 所有行都要分成8个字段。 在某些行中,最后一个字段Field8有额外的逗号,必须被忽略(不应该分开)。问题线条如下所示(注意Field8):
Test, Field2,5731960,Field4,,4,32,Field8 MyOp ( abc,def )
我不能要求更改日志格式。 在posy中有没有办法说从pos 8到pos 100,把它放在pos 8? 我更喜欢春天的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;
}
使用camel 10.0
答案 0 :(得分:1)
不,这是不可能的。但我认为它可能是一个有效的用例,我认为过去其他一些人曾经问过这个用例。
我已经记录了一张票,以便将来改进 https://issues.apache.org/jira/browse/CAMEL-6381
答案 1 :(得分:0)
在camel中,您可以使用拆分器来拆分邮件正文。在这种情况下,您可以在分割器中使用正则表达式,如splitter doc。
中所述