2017-05-29 62 views
-2

我有2個字符串變量,爪哇 - 斯普利特2字符串,並將其存儲在一個字符串數組

String expectedDocsTextReqA = "A1:A2:A3:A4"; 
String expectedDocsTextReqB = "B1:B2:B3:B4"; 

我想Split these 2 strings and store it in a single String array如何做到這一點?

我試圖實現這樣的事情,但是這會引發異常。有沒有其他方法可以做到這一點?

String[] arr = expectedDocsTextReqA.split(":") + expectedDocsTextReqB.split(":"); 
+1

看看:https://stackoverflow.com/questions/80476/how-can-i-concatenate-two-arrays-in-java – Dorian

+1

'String [] arr =(expectedDocsTextReqA +「:」+ expectedDocsTextReqB) .split(「:」);'工作正常 – XtremeBaumer

回答

0

當您使用拆分方法時,這將創建一個不能調整大小的字符串數組。解決的辦法是你的字符串數組轉換成字符串列表:

String expectedDocsTextReqA = "A1:A2:A3:A4"; 
String expectedDocsTextReqB = "B1:B2:B3:B4"; 
List<String> list = new ArrayList<String>(); 

list.addAll(Arrays.asList(expectedDocsTextReqA.split(":"))); 
list.addAll(Arrays.asList(expectedDocsTextReqB.split(":"))); 
for (int i = 0; i < list.size(); i++) 
    System.out.println(list.get(i)); 
0

可能不是最有效的方式做這樣的事情,但在這裏不用。

String[] split1 = expectedDocsTextReqA.split(":"); 
String[] split2 = expectedDocsTextReqB.split(":"); 

//initialize result array size. 
String[] result = new String[split1.length + split2.length]; 
int index = 0; 
for (int i = 0; i < split1.length; i++) { //add elements of the first array 
    result[index] = split1[i] 
    index++; 
} 
for (int i = 0; i < split2.length; i++) { //add elements of the second array 
    result[index] = split2[i] 
    index++; 
} 

編輯:Joris的List實現可能是更合理的解決此問題的方法。