У меня есть короткая тестовая программа для извлечения строк, разделенных табуляцией. Вывод для меня не имеет смысла. Идея состоит в том, чтобы найти следующую позицию вкладки и вернуть значения между предыдущей и следующей вкладкой.
Результат моей программы ниже. Откуда взялось «ограбление»?
fred ted rob a rob alex
program
<cfscript>
s="fred"&chr(9)&"ted"&chr(9)&"rob"&chr(9)&"alex";
oldp=0;
while(oldp<Len(s))
{
p=Find(chr(9),s,oldp+1);
if (p==0)
break;
m=Mid(s,oldp+1,p); // oldp is the old tab poit p is the new get string in between
WriteOutput(m);
WriteOutput(" ");
oldp=p;
}
</cfscript>
Теперь, если я изменю программу для вывода oldp
после каждой строки, результат будет:
fred => 1
ted rob a => 6
rob alex => 10
Я ожидал бы увидеть ] 1,5,9,
. Я не понимаю, почему ted rob
- вторая строка. Вместо этого я ожидал увидеть rob
.