А зачем Вам вообще какой-то алгоритм? Есть прекрасный класс TextBuffer, который умеет работать с token'ами:
PHP код:
textBuffer = new TextBuffer();
textBuffer.setText(",,Казань,,Татарстан,11,,38");
// AXAPTA не совсем правильно работает с пустыми
// токенами, поэтому от них надо сначала избавиться
textBuffer.regularExpressions(true);
textBuffer.replace(",,", ",~,");
textBuffer.replace("<,", "~,");
textBuffer.replace(",>", ",~");
num = 0;
while (textBuffer.nextToken(false, ",")) {
num++;
switch (num) {
case 3:
info(strfmt("Город: %1", textBuffer.token()));
break;
case 5:
info(strfmt("Улица: %1", textBuffer.token()));
break;
}
}