Non so che dirti.. non riesco a vedere nulla che giustifichi questo comportamento.
Prova a fare qualche modifica utile ai fini del debug:

codice:
System.out.println("doc_sacrificabile (prima dell'elaborazione):");
System.out.println(doc_sacrificabile);
System.out.println();

String startString = "<td class=\"conc\" bgcolor=\"";
System.out.println("startString: "+startString);

int start = doc_sacrificabile.indexOf(startString) + startString.length();
System.out.println("start: "+start);
doc_sacrificabile.delete(0, start);
String endString = "</table>";

int end = doc_sacrificabile.indexOf(endString)+endString.length();
doc_sacrificabile.delete(end, doc_sacrificabile.length() - 1);
System.out.println("ent: "+end);
		
System.out.println(doc_sacrificabile);
Se salta davvero la prima colonna, modifica doc_sacrificabile in modo che vi sia solo quella (e </table>). Qualcosa che non combacia deve esserci per forza e visualizzare le righe su cui l'algoritmo sta lavorando su un editor di testo può tornarti comodo.