2017-05-29 15 views
-2

に格納し、私は2つの文字列変数、のJava - スプリット2つの文字列と、単一のString配列

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

Splitメソッドを使用すると、サイズを変更できない文字列の配列が作成されます。おそらく

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のリスト実装が参考になります。