作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 .dat 文件,其格式如下:
Dy MxT MnT AvT HDDay AvDP
1 88 59 74 53.8
3 77 55 66 39.6
9 86 32* 59 6 61.5
3 77 55 66 39.6
我为每一行创建了一个字符串列表,如下所示:
1 88 59 74 53.8
用空格分割字符串后,我得到不同长度的数组,因为字段“HDDay”并不总是有值。例如 split("+") 第 nr 行之后的结果。 1 是:
array[0] //1
array[1] //8
array[2] //59
array[3] //74
array[4] //53.8
但我想要:
array[0] //1
array[1] //8
array[2] //59
array[3] //74
array[4] //"" ==> empty value
array[5] //53.8
这就是我尝试做的:
Charset charset = Charset.forName("ISO-8859-1");
//get list of String
List<String> result = Files.readAllLines(Paths.get(path), charset);
for(int i = 1; i < result.size(); i++){
//Exclude empty line
if(!result.get(i).isEmpty()){
//splitting each line by space
String[] values = result.get(i).split("\\s+");
for(int k = 0; i < values.length; k++){
System.out.println(values[k]);
}
}
}
我需要它,因为我想创建一个 java 对象来解析 json 并将其返回给客户端。
最佳答案
您可以尝试一些方法。第一个选项:由于它是 .dat 文件并且看起来主要是结构性的,因此您可以使用竖线 (|) 或 (,) 分隔,就像任何 csv 文件一样。
第二个选项:如果您可以控制之间的空格数量,则可以在正则表达式代码中添加限制并按限制进行拆分。
例如:
String s = "1 88 59 74 53.8";
String[] stringArray = s.split("\\s{2,5}");
如果你看到这里,我已经指定 2 为空格的最小字符,5 为空格的最大字符。如果它在 5 个字符之后找到空格,它应该会为您提供所需的输出。
关于java - 由于数据有空字段,如何获取相等长度的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56173880/
我有一个名为 FeedView 的 View ,由 FeedViewController 处理。 我还有一个名为“NearestStore”的 XIB,它由一个名为“NearestStoreViewC
我有一个警报表,其中 tr 元素是使用 JS 动态添加/删除的。问题是它有一个 border-top 将它与上面的内容分开,当表格为空时我想隐藏这些内容。我试过 :empty 和 display:no
我是一名优秀的程序员,十分优秀!