2016-10-03 57 views
-8

在Java中:我有一个字符串是在这种形式: [“名称”,“年龄”,“串行”] 我怎么能将它转换为数组? 它实际上是矢量的第一个元素。 在此先感谢您的帮助。字符串以阵列形式在Java中的数组

+0

看起来像一个JSON数组。如果这真的是JSON,那么JSON解析器可能是解决问题的最简单方法。 –

回答

0

问题没有明确说明,所以我打算在这里采取几个“去”。

先走。输入字符串看起来像一个JSON数组。事实上,如果我们假设它应该表示一个字符串数组,其中引号字符是字符串分隔符,则示例是字符串数组的自然表示。

如果假设这是JSON(或类似JSON)是正确的,那么您可以使用JSON解析器来解析字符串。事实上,如果您使用JSON到Java的绑定(由Jackson或GSON支持),您可以将直接转换为所需的字符串数组。

第二次去。如果这不是JSON/JSON,那么问题变得更加困难。首先,你需要指定“元字符”('[',']',','和''')如果嵌入其中一个字符串中会发生什么。如果你不知道那么你将无法在所有可能的情况下精确地解析字符串

如果我们可以假设元字符不能出现在其中一个字符串中,那么就有可能“解析”使用输入任一个(多毛)的正则表达式或模式匹配和串分割的组合,但它是一个非平凡编程任务得到它的权利;即

  • 接受所有可能的结构良好的输入,
  • 在末尾获取正确的字符串数组,
  • 拒绝所有格式错误的输入,并且
  • 避免病态情况(如果使用正则表达式)。