java - 寻找解决方案[Java,正则表达式?]

标签 java regex

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

我们正在读取 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/

相关文章:

java - 需要在Java中加密和解密,无法使用Base64...我认为

python - re.findall 多行 python

java - 正则表达式用于匹配字符串任何部分中的多个点(连续和不连续)

java - 使用 JCreator 的 Java 所得税程序出错

python re.search 不适用于多行字符串

python - 在 Python 中使用正则表达式确定字符串的不匹配部分

java - 如何在Java中使用正则表达式仅过滤附加字符?

java - 如何在SonarQube中忽略javax文件?

java - 实现 ScrollView 导致致命异常

java - Lambda 表达式对多核系统有哪些优势?