如何将String转换为String [] []

时间:2010-10-22 20:10:27

标签: java arrays string

我有一个这样的字符串:

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 个答案:

答案 0 :(得分:3)

String[] first = string.replaceAll("[({{\")(\"}})]","").split("\"},{\"");
String[][] result = new String[first.length][];
for (int i=0; i<first.length; i++)
  result[i] = first[i].split("\", \"");

我认为这是正确的 - 可能会有一些带有转义字符的虚假部分。

修正了数字中逗号分割的一些问题。

注意,这是 super 易碎,完全取决于您提供的格式。

答案 1 :(得分:0)

你必须考虑到2D阵列来解析它。

从行开始(由“}”分隔,然后将它们分解为值。

答案 2 :(得分:0)

编写一个方法并使用StringUtils http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html使用StringUtils中的split *方法之一。由于您有二维数组,因此需要运行split *方法两次。