0

我有以下用例并正在寻找正确的解决方案。

我们正在读取一个 csv 文件并填充一个 POJO。文件中的一个列可以映射到 POJO 中的多个字段。

例如:

Class Test {

private String field1;
private String field2;
private String field3;
......
other fields
---
getter methods
.....
 setter methods 
}

假设文件中 XXXX 列的值为 123_TEST_34_THJ

field1 值为 123 field2 值为 34 field3 值 THJ

我可以在 Java 代码中做到这一点,但我正在寻找一种动态拆分它的解决方案。假设 XXXX 的值现在更改为 124_34_THJ,我希望我的代码只需更改配置即可工作。什么是更好的解决方案?如果问题不清楚,请告诉我。

4

1 回答 1

1

您可以使用带有命名捕获的正则表达式:

(?<field1>\d+)_\w+_(?<field2>\d+)_(?<field3>\w+)

那么下周可能...

(?<field2>\d+)_(?<field7>\w+)_(?<field1>\d+)_(?<field3>\w+)

在 Java中的 Regex Named Groups 中有关您选择具有命名捕获的正则表达式库的更多信息

于 2012-07-11T07:03:59.437 回答