如何在Java中拆分和解析数据
请帮忙, 如何将从串行数据接收的数据更改为数据表,我在拆分数据时遇到问题。如何在Java中拆分和解析数据,java,parsing,split,Java,Parsing,Split,请帮忙, 如何将从串行数据接收的数据更改为数据表,我在拆分数据时遇到问题。 序列号中的数据: && 1301830000 13020 130 313 130432803 1305160420 1306155033 130 735 1308746.119995 1309738.062073 !! && 1401830000 14020 140 314 140432803
序列号中的数据: && 1301830000 13020 130 313 130432803 1305160420 1306155033 130 735 1308746.119995 1309738.062073 !! && 1401830000 14020 140 314 140432803 1405160420 1406155033 140 735 1408746.119995 !! && 1301830000 13020 130 313 130432803 1305160420 1306155033 130 735 1308746.119995 1309738.062073 !! && 1401830000 14020 140 314 140432803 1405160420 1406155033 140 735 1408746.119995 !! 数据前面有一个“&&”并以“!!”结尾。以及要转换为数据表的标记之间的数据。前两位是索引数据接收,我想开始更改下一位,例如: && 1301830000 13020 !! && 1301830000 13020 !! 13索引数据。01行和列。830000美元 13索引数据。02行和列。0值 成功 col0 col1 row0 830000 0 col0 col1 第830000行
谢谢我不确定问题是如何解析开始/停止标记之间的行,还是解析单独的行,但下面的代码应该可以帮助您开始 我不需要任何字符串->数字转换
public static void main(String args[]) throws IOException {
String input = " &&\n" +
" 1301830000\n" +
" 13020\n" +
" 130 313\n" +
" 130432803\n" +
" 1305160420\n" +
" 1306155033\n" +
" 130 735\n" +
" 1308746.119995\n" +
" 1309738.062073\n" +
" !!\n" +
" &&\n" +
" 1401830000\n" +
" 14020\n" +
" 140 314\n" +
" 140432803\n" +
" 1405160420\n" +
" 1406155033\n" +
" 140 735\n" +
" 1408746.119995\n" +
" !!\n";
try (BufferedReader r = new BufferedReader(new StringReader(input))) {
String line;
while((line = r.readLine()) != null) {
line = line.trim();
if (line.startsWith("&&") || line.startsWith("!!")) {
continue;
} else {
String indexData = line.substring(0, 2);
String rowsColumns = line.substring(2, 4);
String value = line.substring(4);
System.out.println(String.format("%2s index data. %3s rows and columns. %6s value ", indexData, rowsColumns, value));
}
}
}
}
您的数据是否已损坏,或者它是否真的是“130 313”,而不是数据第4行中的“130313”?其他3行也一样
public static void main(String args[]) throws IOException {
String input = " &&\n" +
" 1301830000\n" +
" 13020\n" +
" 130 313\n" +
" 130432803\n" +
" 1305160420\n" +
" 1306155033\n" +
" 130 735\n" +
" 1308746.119995\n" +
" 1309738.062073\n" +
" !!\n" +
" &&\n" +
" 1401830000\n" +
" 14020\n" +
" 140 314\n" +
" 140432803\n" +
" 1405160420\n" +
" 1406155033\n" +
" 140 735\n" +
" 1408746.119995\n" +
" !!\n";
try (BufferedReader r = new BufferedReader(new StringReader(input))) {
String line;
while((line = r.readLine()) != null) {
line = line.trim();
if (line.startsWith("&&") || line.startsWith("!!")) {
continue;
} else {
String indexData = line.substring(0, 2);
String rowsColumns = line.substring(2, 4);
String value = line.substring(4);
System.out.println(String.format("%2s index data. %3s rows and columns. %6s value ", indexData, rowsColumns, value));
}
}
}
}