如何在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));
            }
        }
    }
}