我有以下用例并正在寻找正确的解决方案。
我们正在读取 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 字段2值为34 提交3值THJ
我可以在 Java 代码中执行此操作,但我正在寻找一种动态拆分此操作的解决方案。假设 XXXX 的值现在更改为 124_34_THJ,我希望我的代码只需更改配置即可工作。什么是更好的解决方案?如果问题不清楚,请告诉我。
最佳答案
您可以使用带有命名捕获的正则表达式:
(?<field1>\d+)_\w+_(?<field2>\d+)_(?<field3>\w+)
那么下周可能会......
(?<field2>\d+)_(?<field7>\w+)_(?<field1>\d+)_(?<field3>\w+)
有关您选择具有命名捕获的正则表达式库的更多信息,请访问 Regex Named Groups in Java
关于java - 寻找解决方案[Java,正则表达式?],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11426028/