У меня есть короткая тестовая программа для извлечения строк, разделенных вкладками Вывод не имеет смысла для меня. Идея состоит в том, чтобы найти следующую позицию вкладки и вернуть значения между предыдущей и следующей вкладками.
Вывод моей программы ниже. Откуда взялся «грабитель»?
fred ted rob a rob alex
Программа
<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
вместо.