Чтение данных из строки в формате таблицы - PullRequest
0 голосов
/ 23 мая 2018

У меня есть строка, написанная в формате таблицы (заголовок, список значений под заголовком), как мне разобрать строку:

См. Мой пример строки

titel1           titel2             titel3          titel4
value1                              value3          value4

, и обратите внимание, чтонесколько раз у меня есть пустое значение.

Может кто-нибудь помочь мне?

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

1) Разделить строку на основе новой строки \r?\n.Это не даст вам ни одного элемента в массиве, каждый из которых соответствует строке вашей таблицы.
2) Теперь разделите каждый элемент массива на \t.это даст вам массив, состоящий из каждой записи столбца для этой строки.

String[] records="titel1\ttitel2\ttitel3\ttitel4\nvalue1\t\tvalue3\tvalue4".split("\\n");
//records array will contain each row as an element
Arrays.stream(records).forEach(record -> {
  record.split("\\t");
  // Store this. It will give you each column value
});

Надеюсь, это чем-то вам поможет.

0 голосов
/ 23 мая 2018

Вы не можете сделать это, если у вас есть пустые значения.Вместо этого используйте пометку для «пусто», может быть просто «пусто» или «пусто», или как вам угодно (вставьте эту отметку там, где строка впервые построена).

Тогда у вас есть много способов разборасамое простое - перебирать строковый символ на символ, разделяя записи, используя пробелы, и строки, используя переходы на новую строку, но, поскольку вы находитесь в Java, вы, вероятно, можете создать что-то более крутое с помощью .split или .replaceAll.

...