チャンクに分割し、操作のために各チャンクを配列に保持する必要がある文字列があります。チャンクの長さはわかりませんが、8 番目のコンマの後に新しいレコードが始まることはわかっています。それを正しいチャンクに分割しStringBuffer
てループ内に保存することはできますが、それを配列に追加する方法がわかりませんか?
以下のコードは、これまでに行ったことを示しています。
public static void main(String[] args) {
//I would like to store each of these lines in an array
String teachMod = ("1,TSM,501,SM1056,Simon Thorne,TCO200,24,30,"+
"2,TSM,500,AC1157,Peter Jones,TCO104,24,60,"+
"3,TSM,500,SM0156,Simon Thorne,TCO113,12,60,"+
"4,TSM,500,AC1157,Peter Jones,TCO104,24,30,"+
"5,TSM,500,AC1156,Richard Adlam,TCO113,12,60,"+
"6,TSM,500,AC1157,Peter Jones,TCO109,12,90,"+
"7,TSM,503,SM0156,Simon Thorne,CIS414,12,30,"+
"8,TSM,501,AC1156,Richard Adlam,TCO222,12,40,"+
"9,TSM,500,AC1156,Richard Adlam,TCO114,12,60,"+
"10,TSM,501,AC1157,Peter Jones,TCO200,60,40,"+
"11,TSM,500,AC1156,Richard Adlam,TCO106,24,60,"+
"12,TSM,501,SM0156,Simon Thorne,TCO207,12,30,"+
"13,TSM,500,AC1157,Peter Jones,TCO112,24,30,");
StringBuffer sb = new StringBuffer();
char[] c = teachMod.toCharArray();
int j = 0;
for(int i = 0; i < teachMod.length(); i++){
sb.append(c[i]);
if(c[i]==','){
j++;
if(j==8){
//At this point the variable sb holds what I want in an array
System.out.println(sb);
j=0;
sb = new StringBuffer();
}
}
}
}
}//End class