java - Java 在包含空格的字符串中用逗号分隔
问题描述
我有一个下面的字符串,我只想用 ',' 分割它,并且还想分隔每行的第三个索引,即 (1005,111222) 。
1002,USD,04/09/2019,1005,1,cref,,,,,,,,,
1001,USD,11/04/2018,111222,10,reftpt001,SHA,Remittance Code,BCITIT31745,,,RTGS,,,,
我正在使用下面的代码:
List<String> elements = new ArrayList<String>();
List<String> elements2 = new ArrayList<String>();
StringTokenizer st = new StringTokenizer((String) object);
while(st.hasMoreTokens()) {
String[] row = st.nextToken().split(",");
if (row.length == 5) {
elements.add(row[3]);
}
if (row.length == 12) {
elements2.add(row[3]);
}
}
在上面的字符串中, ' ' 之间有一个空格,Remittance Code
但它是分裂的,直到remittance
和之后,它将代码计算为一个新的行或字符串。请告知我如何才能跳过空白。
解决方案
这里没有明显的需要StringTokenizer
,并且nextToken()
呼叫在第一个空格处停止。相反,我建议output.split(",")
直接打电话
String[] row = ((String) object).split("\\s*,\\s*", -1);
并删除StringTokenizer
,注意JavaDoc 明确表示StringTokenizer
是一个遗留类,出于兼容性原因保留,尽管不鼓励在新代码中使用它。建议任何寻求此功能的人改用java.util.regex 包的split
方法或包。String
推荐阅读
- r - `geom_histogram` 和 `stat_bin()` 不对齐
- java - PdfBox 将具有多页的 PDF 转换为一个图像 JPG
- swift - UICollectionView w/水平 uicollectionview 重用单元格问题 - 滚动时混合单元格
- maven - maven-jar-plugin:3.1.3 未能执行目标
- c# - ASP.NET MVC - 传递的模型项是 Generic.List 但需要类型 PagedList
- c - 程序不打印任何东西,甚至到它应该打印的地方
- java - 将 Scala 嵌套 Map 转换为 Java 嵌套 util.Map
- javascript - 颜色为具有相同颜色的相同 id 的线条
- javafx - OpenLayers Tile 在 JavaFX 应用程序中随 Windows 文本比例缩放
- ios - 将应用程序上传到 Apple 商店时出现错误“配置文件不包括 nslocationalwaysusagedescription”