java - Java如何拆分arralyist并设置在单独的字符串或数组中
问题描述
我是 Java 新手。我有一个包含以下数据的对象
1002,USD,03/09/2019,1004,2,cref,,,,,,,,,
1002,USD,03/09/2019,1005,3,cref,,,,,,,,,
1002,USD,03/09/2019,1003,3,cref,,,,,,,,,
我使用 StringTokenizer 在 arraylist 中转换它
List<String> elements = new ArrayList<String>();
StringTokenizer st = new StringTokenizer((String) object);
while(st.hasMoreTokens()) {
elements.add(st.nextToken());
}
Tokenizer 将其转换为以下形式
[1002,USD,03/09/2019,1004,2,cref,,,,,,,,,,
1002,USD,03/09/2019,1005,3,cref,,,,,,,,,,
1002,USD,03/09/2019,1003,3,cref,,,,,,,,,]
我希望每行的第三个索引(1004,1005,1003)在单独的字符串或单独的数组中。请告知或是否有任何其他方法可以在不使用标记器的情况下获取第三个索引。
java 版本 "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
解决方案
要从每一行获取所需的值(第 4 项),您可以使用String.split()
函数:
List<String> elements = new ArrayList<String>();
StringTokenizer st = new StringTokenizer((String) object);
while(st.hasMoreTokens()) {
String[] row = st.nextToken().split(",");
if (row.length > 3) {
elements.add(row[3]);
}
}
推荐阅读
- reactjs - 立即获取 setFieldValue 的值
- ios - 在 Swift UI 中实现 Core Data 而不会崩溃
- spring-boot - Springboot将日志存储在h2-DB中:检测到Logback配置错误
- arrays - 将整数附加到scala中的数组,但打印数组(即使在使用 .mkSting("") 时也不显示任何内容
- python - 带有 lambda 的 Pandas date_parser
- jquery - BootStrap 4 - JQuery 计数并以编程方式浏览导航选项卡组件中的导航项目列表
- angular - 导致填充的星云页面
- kubernetes - 如何在 istio 1.4.0 中将证书公用名传递给 istio 内部服务?
- amazon-web-services - 在媒体包 VOD 中,使用 aws-sdk createAsset() 它会给出内部服务器错误通过 javascript
- c++ - 值覆盖的 C++ 问题