Как преобразовать строку в строку [] [] - PullRequest
0 голосов
/ 23 октября 2010

У меня есть такая строка:

String string ='{{"INPUT FILE", "NUMBER OF RECORDS"},{"Item File", "11,559"},{"Vendor File", "300"}, {"Purchase History File", "10,000"},{"Total # of requisitions", "10,200,038"}}';

И я хочу преобразовать его в массив следующим образом:

String [][] data = {
          {"INPUT FILE", "NUMBER OF RECORDS"},
          {"Item File", "11,559"},
          {"Vendor File", "300"},
          {"Purchase History File", "10,000"},
          {"Total # of requisitions", "10,200,038"}
      };

Как я мог это сделать?

Ответы [ 3 ]

3 голосов
/ 23 октября 2010
String[] first = string.replaceAll("[({{\")(\"}})]","").split("\"},{\"");
String[][] result = new String[first.length][];
for (int i=0; i<first.length; i++)
  result[i] = first[i].split("\", \"");

Я думаю, что это правильно - могут быть некоторые неприятные биты с экранированными символами.

Исправлены некоторые проблемы с разделением на запятые в числах.

Обратите внимание, что супер хрупок и полностью зависит от предоставленного вами формата.

0 голосов
/ 23 октября 2010

написать метод и использовать StringUtils http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html использовать один из методов split * в StringUtils.Вам нужно будет запустить метод split * дважды, так как у вас есть двумерный массив.

0 голосов
/ 23 октября 2010

Вам придется анализировать его с учетом 2D-массива.

Начните со строк (разделенных "},"), затем разбейте их на значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...