2016-10-03 63 views
-8

在Java中:我有一個字符串是在這種形式: [「名稱」,「年齡」,「串行」] 我怎麼能將它轉換爲數組? 它實際上是矢量的第一個元素。 在此先感謝您的幫助。字符串以陣列形式在Java中的數組

+0

看起來像一個JSON數組。如果這真的是JSON,那麼JSON解析器可能是解決問題的最簡單方法。 –

回答

0

問題沒有明確說明,所以我打算在這裏採取幾個「去」。

先走。輸入字符串看起來像一個JSON數組。事實上,如果我們假設它應該表示一個字符串數組,其中引號字符是字符串分隔符,則示例是字符串數組的自然表示。

如果假設這是JSON(或類似JSON)是正確的,那麼您可以使用JSON解析器來解析字符串。事實上,如果您使用JSON到Java的綁定(由Jackson或GSON支持),您可以將直接轉換爲所需的字符串數組。

第二次去。如果這不是JSON/JSON,那麼問題變得更加困難。首先,你需要指定「元字符」('[',']',','和''')如果嵌入其中一個字符串中會發生什麼。如果你不知道那麼你將無法在所有可能的情況下精確地解析字符串

如果我們可以假設元字符不能出現在其中一個字符串中,那麼就有可能「解析」使用輸入任一個(多毛)的正則表達式或模式匹配和串分割的組合,但它是一個非平凡編程任務得到它的權利;即

  • 接受所有可能的結構良好的輸入,
  • 在末尾獲取正確的字符串數組,
  • 拒絕所有格式錯誤的輸入,並且
  • 避免病態情況(如果使用正則表達式)。
相關問題