Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   js и *.tsv или первые шаги к псевдоБД на javascript (https://javascript.ru/forum/offtopic/26650-js-i-%2A-tsv-ili-pervye-shagi-k-psevdobd-na-javascript.html)

monolithed 21.03.2012 08:23

Monz,
У меня нет времени разбираться в вашей ситуации, оставьте сообщение с текстом который не корректно возвращается.

Monz 21.03.2012 08:29

не могу в текстовом виде предоставить данные

monolithed 21.03.2012 09:02

Цитата:

Сообщение от Monz
не могу в текстовом виде предоставить данные

Я не прошу вас показывать реальные данные, мне нужно видеть в каком виде приходит результат перед тес как вы его сплитите, например:

'text   text   '

Monz 21.03.2012 09:21

дело не в секретности:) данные нормально не копипастятся. попытаюсь изобразить.
им1 |им2|им3|им4| - первая строка(шапка таблицы)
1 .. |... |3 .. |4 .. | - что типа данных(во втором столбце данных нет)
1 .. |... |3 .. |4 .. |
1 .. |... |3 .. |4 .. |
1 .. |... |3 .. |4 .. |

после сплита получаем

им1 |им2|им3|им4|
1 .. |3 .. |4 .. | .. |
1 .. |3 .. |4 .. | .. |
1 .. |3.. |4 .. | .. |
1 .. |3.. |4 .. | .. |

т.е. данные сдвигаются влево,т.к. сплит автоматом выкидывает пустые значения

Monz 23.03.2012 06:19

Проверил что будет, если в документе будут ячейки с пробелами. Их сплит прекрасно воспринимает, без сдвига столбцов. Но у меня нет никакой возможности редактировать исходник с данными.......Что можно придумать???

monolithed 23.03.2012 09:46

Открыть блокнот, нажать tab, скопировать символ табуляции и вставить в сплит.

Monz 23.03.2012 13:21

Цитата:

Сообщение от monolithed (Сообщение 164521)
Открыть блокнот, нажать tab, скопировать символ табуляции и вставить в сплит.

Cо всем моим уважением, но ,по сабжу, я пытаюсь корректно обработать *.tsv файл. В связи с чем недоумеваю, глядя на ваш ответ.

monolithed 23.03.2012 15:19

Цитата:

Сообщение от Monz
Cо всем моим уважением, но ,по сабжу, я пытаюсь корректно обработать *.tsv файл. В связи с чем недоумеваю, глядя на ваш ответ.

Вы написали, что с пробелами все нормально парсится:
Цитата:

Сообщение от Monz
Проверил что будет, если в документе будут ячейки с пробелами. Их сплит прекрасно воспринимает, без сдвига столбцов.

Однако данные приходят с табуляцией, и сплит их не корректно понимает?
Значит либо нужно в сплите явно поставить таб как разделитель, либо делать проверку на этапе чтения файла, ну или я не так вас понял.

Monz 26.03.2012 11:36

Вложений: 1
У меня есть *.tsv файл, соответственно это текст разделённый табуляцией. Этот файл создается 1С-кой. Т.к. в 1С не во всех ячейках таблицы есть данные, то в *.tsv есть места где идет два знака табуляции подряд, их-то и пропускает split.

п.с. пример tsv

monolithed 26.03.2012 14:09

Попробуйте так:
line.split(/\t+/);


Вот пример:
alert('tabtab|tab'.split(/\tab+/));


Часовой пояс GMT +3, время: 12:26.