2015-03-31 166 views
1

對於我的程序,從用戶的輸入將是這樣的:字符串分割爲多個陣列

{1,2,3} {1,2} {4,5,6} 

可以有多個{ }任意數量的...裏面的數字。

我已經取得與陣列的2維陣列,用於數字的每個序列:{}

我有困擾他們分成它們各自的陣列所以這將是這樣的:

Array[0] = ["1","2","3"]  
Array[1] = ["1","2"] 
Array[2] = ["4","5","6"] 

我會如何分裂它?我不知道如果我可以將這個字符串拆分爲n個字符串,因爲序列數量取決於用戶。

回答

3

將字符串拆分爲「」(空格),然後從中刪除大括號(可能需要從索引1到索引長度爲1的子字符串)。然後用逗號分隔。這應該返回一個包含數字的字符串數組。從那裏將字符串解析爲整數,並存儲在整數數組中。

+0

啊這似乎工作。我做了另一個數組來保存每個序列作爲一個元素,然後重新排序(現在更容易)。謝謝 :) – Serpace 2015-03-31 15:27:12

0

此代碼將幫助您

public class T { 
    public static void main(String[] args) { 

     String s = "{1,2,3} {1,2} {4,5,6}"; 

     String[] mainArray = s.split(" "); 
     String[][] result = new String[mainArray.length][]; 
     int count = 0; 
     for (String t : mainArray) { 
      result[count] = t.split(","); 
      count++; 
     } 

    } 
} 
0
var x = "{1,2,3} {1,2} {4,5,6}"; 
var y = x.split(" "); 
var k =[]; 
for(var i = 0; i < y.length; i++){ 
    k.push((y[i].substring(1,y[i].length-1)).split(",")); 
} 

好了,這是你會怎麼做在JavaScript中,算法。(我糟糕的錯誤讀取標籤) k將是最終的陣列。

0

創建數組的集合(輸入數組的類型,如果知道的話)。 將數組拆分爲「{」。 使用生成的數組,可以從每個字符串中刪除「}」並將其拆分爲「,」。 然後遍歷得到的字符串數組,解析其內容並構建一個您輸入類型的數組。最後,將該數組添加到您的集合中。

這假定沒有子數組,對於您的示例輸入爲true。它不假定用戶在給定數組之間添加空格,但是;這是我不會相信用戶記住的事情。