Вопрос по парсингу строки
Snow_Irbis Дата: Пн, 25 Октября 2010, 02:40 | Сообщение # 91
Quote (DEMBEL )
NB не понимает UTF поэтому вероятно следует строки конвертить в ANSI (Win1251) с помощью плагина zmFunctions для корректной обработки кириллицы, а то вместо нее будет мусор.
Quote (Сергей )
а вот это может быть
Сделал так , так что по ходу теория с кодировкой не подтверждена Доступно только для пользователей
Quote (DEMBEL )
хе, парсинг например моего файла в 25000 строк займет пару часиков...
У меня в БД полной 10529 , запарсило менее чем за 5 минут
Добавлено (25 Октябрь 2010, 02:40) ---------------------------------------------
Quote (DEMBEL )
то есть ты хочешь спарсить в отдельный файл список емейлов? ну хорошо, попробуем...
Да
Сообщение отредактировано Snow_Irbis - Пн, 25 Октября 2010, 02:46
Сообщение Quote (DEMBEL )
NB не понимает UTF поэтому вероятно следует строки конвертить в ANSI (Win1251) с помощью плагина zmFunctions для корректной обработки кириллицы, а то вместо нее будет мусор.
Quote (Сергей )
а вот это может быть
Сделал так , так что по ходу теория с кодировкой не подтверждена Доступно только для пользователей
Quote (DEMBEL )
хе, парсинг например моего файла в 25000 строк займет пару часиков...
У меня в БД полной 10529 , запарсило менее чем за 5 минут
Добавлено (25 Октябрь 2010, 02:40) ---------------------------------------------
Quote (DEMBEL )
то есть ты хочешь спарсить в отдельный файл список емейлов? ну хорошо, попробуем...
Да
Автор - Snow_Irbis Дата добавления - 25 Октября 2010 в 02:40
DEMBEL Дата: Пн, 25 Октября 2010, 02:42 | Сообщение # 92
да, вижу проблемы, и впрямь рабочий код на этом файле не парсит далее 1 элемента, думаю изза кириллического utf-мусора
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение да, вижу проблемы, и впрямь рабочий код на этом файле не парсит далее 1 элемента, думаю изза кириллического utf-мусора Автор - DEMBEL Дата добавления - 25 Октября 2010 в 02:42
Snow_Irbis Дата: Пн, 25 Октября 2010, 02:43 | Сообщение # 93
И так не идет
Сообщение И так не идет
Автор - Snow_Irbis Дата добавления - 25 Октября 2010 в 02:43
DEMBEL Дата: Пн, 25 Октября 2010, 02:43 | Сообщение # 94
нет не из за мусора а логики скрипта
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение нет не из за мусора а логики скрипта Автор - DEMBEL Дата добавления - 25 Октября 2010 в 02:43
Snow_Irbis Дата: Пн, 25 Октября 2010, 02:46 | Сообщение # 95
Quote (DEMBEL )
да, вижу проблемы, и впрямь рабочий код на этом файле не парсит далее 1 элемента, думаю изза кириллического utf-мусора
кирилические символы тоже важны , ведь это может быть логин / имя пользователя / его подпись , их в последствии мне тоже надо выдербанивать с дампа
Добавлено (25 Октябрь 2010, 02:46) ---------------------------------------------
Quote (DEMBEL )
нет не из за мусора а логики скрипта
И что в логике не так ?
Сообщение Quote (DEMBEL )
да, вижу проблемы, и впрямь рабочий код на этом файле не парсит далее 1 элемента, думаю изза кириллического utf-мусора
кирилические символы тоже важны , ведь это может быть логин / имя пользователя / его подпись , их в последствии мне тоже надо выдербанивать с дампа
Добавлено (25 Октябрь 2010, 02:46) ---------------------------------------------
Quote (DEMBEL )
нет не из за мусора а логики скрипта
И что в логике не так ?
Автор - Snow_Irbis Дата добавления - 25 Октября 2010 в 02:46
Сергей Дата: Пн, 25 Октября 2010, 02:51 | Сообщение # 96
Quote (DEMBEL )
кириллического utf-мусора
что то не верится Quote (Snow_Irbis )
И так не идет
хм, а у меня почемуто идет
Сообщение Quote (DEMBEL )
кириллического utf-мусора
что то не верится Quote (Snow_Irbis )
И так не идет
хм, а у меня почемуто идетАвтор - Сергей Дата добавления - 25 Октября 2010 в 02:51
DEMBEL Дата: Пн, 25 Октября 2010, 02:56 | Сообщение # 97
Snow_Irbis , проверь FileLen "!C:\users.txt" "[Len]" Loop "1" "[Len]" "[x]" FileRead "!C:\users.txt" "[x]" "[Strings]" StrParse "[Strings]" "[#13][#10] " "[Data]" "[y]" AlertBox "Мыло" "[Data8]" EndLoop
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение Snow_Irbis , проверь FileLen "!C:\users.txt" "[Len]" Loop "1" "[Len]" "[x]" FileRead "!C:\users.txt" "[x]" "[Strings]" StrParse "[Strings]" "[#13][#10] " "[Data]" "[y]" AlertBox "Мыло" "[Data8]" EndLoopАвтор - DEMBEL Дата добавления - 25 Октября 2010 в 02:56
Snow_Irbis Дата: Пн, 25 Октября 2010, 02:56 | Сообщение # 98
Quote (Сергей )
хм, а у меня почемуто идет
у меня тоже пошло , но только в таком виде Доступно только для пользователей
Но все равно есть косяк , данные переносит все но тем не менее делает первую строку путой типа отступ , и последнюю строку тоже пустой
Сообщение Quote (Сергей )
хм, а у меня почемуто идет
у меня тоже пошло , но только в таком виде Доступно только для пользователей
Но все равно есть косяк , данные переносит все но тем не менее делает первую строку путой типа отступ , и последнюю строку тоже пустой
Автор - Snow_Irbis Дата добавления - 25 Октября 2010 в 02:56
DEMBEL Дата: Пн, 25 Октября 2010, 03:00 | Сообщение # 99
Quote (Snow_Irbis )
и последнюю строку тоже пустой
Quote (Snow_Irbis )
первую строку путой типа отступ
добавь в разделитель парсинга символ новой строки [#10] и как рукой снимет
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение Quote (Snow_Irbis )
и последнюю строку тоже пустой
Quote (Snow_Irbis )
первую строку путой типа отступ
добавь в разделитель парсинга символ новой строки [#10] и как рукой сниметАвтор - DEMBEL Дата добавления - 25 Октября 2010 в 03:00
Сергей Дата: Пн, 25 Октября 2010, 03:02 | Сообщение # 100
Quote (Snow_Irbis )
у меня тоже пошло , но только в таком виде
чет не понял, в чем отличие
Сообщение Quote (Snow_Irbis )
у меня тоже пошло , но только в таком виде
чет не понял, в чем отличиеАвтор - Сергей Дата добавления - 25 Октября 2010 в 03:02
DEMBEL Дата: Пн, 25 Октября 2010, 03:03 | Сообщение # 101
Quote (Snow_Irbis )
zmConvertString "Utf8ToAnsi" "[USERS]" "[USERS2]"
зачем заводить новую переменную, можно переназначить старую "Utf8ToAnsi" "[USERS]" "[USERS]"
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение Quote (Snow_Irbis )
zmConvertString "Utf8ToAnsi" "[USERS]" "[USERS2]"
зачем заводить новую переменную, можно переназначить старую "Utf8ToAnsi" "[USERS]" "[USERS]"Автор - DEMBEL Дата добавления - 25 Октября 2010 в 03:03
Сергей Дата: Пн, 25 Октября 2010, 03:04 | Сообщение # 102
я тут скринов понаделал, чтоб показать, что метода работает, надо искать сабж в файле
Сообщение я тут скринов понаделал, чтоб показать, что метода работает, надо искать сабж в файле Автор - Сергей Дата добавления - 25 Октября 2010 в 03:04
Snow_Irbis Дата: Пн, 25 Октября 2010, 03:06 | Сообщение # 103
Quote (DEMBEL )
Snow_Irbis, проверь FileLen "!C:\users.txt" "[Len]" Loop "1" "[Len]" "[x]" FileRead "!C:\users.txt" "[x]" "[Strings]" StrParse "[Strings]" "[#13][#10]" "[Data]" "[y]" AlertBox "Мыло" "[Data8]" EndLoop
По ходу так вообще переносит полностью строку из распарсиваемого файла
Quote (DEMBEL )
добавь в разделитель парсинга символ новой строки [#10] и как рукой снимет
Не много не пойму как это сделать ?
Добавлено (25 Октябрь 2010, 03:06) ---------------------------------------------
Quote (Сергей )
чет не понял, в чем отличие
Преобразование кодировки типа
Quote (DEMBEL )
зачем заводить новую переменную, можно переназначить старую "Utf8ToAnsi" "[USERS]" "[USERS]"
Я не знал что так можно
Сообщение Quote (DEMBEL )
Snow_Irbis, проверь FileLen "!C:\users.txt" "[Len]" Loop "1" "[Len]" "[x]" FileRead "!C:\users.txt" "[x]" "[Strings]" StrParse "[Strings]" "[#13][#10]" "[Data]" "[y]" AlertBox "Мыло" "[Data8]" EndLoop
По ходу так вообще переносит полностью строку из распарсиваемого файла
Quote (DEMBEL )
добавь в разделитель парсинга символ новой строки [#10] и как рукой снимет
Не много не пойму как это сделать ?
Добавлено (25 Октябрь 2010, 03:06) ---------------------------------------------
Quote (Сергей )
чет не понял, в чем отличие
Преобразование кодировки типа
Quote (DEMBEL )
зачем заводить новую переменную, можно переназначить старую "Utf8ToAnsi" "[USERS]" "[USERS]"
Я не знал что так можно
Автор - Snow_Irbis Дата добавления - 25 Октября 2010 в 03:06
Сергей Дата: Пн, 25 Октября 2010, 03:07 | Сообщение # 104
этот тоже работает Quote
FileLen "[PubDir]dat01.txt" "[len]" Loop "1" "[len]" "[i]" FileRead "[PubDir]dat01.txt" "[i]" "[USERS]" StrParse "[USERS]" "[#13][#10]" "[arr]" "" FileWrite "[PubDir]datS.txt" "Append" "[arr8]" .DeleteArray "[Data]" "All" EndLoop
Quote (Snow_Irbis )
Преобразование кодировки типа
а ну да, ну мне он ненужен, я по стариньки в Ansi работаю
Сообщение отредактировано Сергей - Пн, 25 Октября 2010, 03:12
Сообщение этот тоже работает Quote
FileLen "[PubDir]dat01.txt" "[len]" Loop "1" "[len]" "[i]" FileRead "[PubDir]dat01.txt" "[i]" "[USERS]" StrParse "[USERS]" "[#13][#10]" "[arr]" "" FileWrite "[PubDir]datS.txt" "Append" "[arr8]" .DeleteArray "[Data]" "All" EndLoop
Quote (Snow_Irbis )
Преобразование кодировки типа
а ну да, ну мне он ненужен, я по стариньки в Ansi работаю Автор - Сергей Дата добавления - 25 Октября 2010 в 03:07
DEMBEL Дата: Пн, 25 Октября 2010, 03:07 | Сообщение # 105
Quote (Snow_Irbis )
Не много не пойму как это сделать ?
StrParse "[Strings]" "[#13][#10] " "[Data]" "[y]" Quote (Snow_Irbis )
По ходу так вообще переносит полностью строку из распарсиваемого файла
чтото не так? у меня складывает все аккуратно по переменным, в Data8 лежит емеил, без лишних строк
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение Quote (Snow_Irbis )
Не много не пойму как это сделать ?
StrParse "[Strings]" "[#13][#10] " "[Data]" "[y]" Quote (Snow_Irbis )
По ходу так вообще переносит полностью строку из распарсиваемого файла
чтото не так? у меня складывает все аккуратно по переменным, в Data8 лежит емеил, без лишних строкАвтор - DEMBEL Дата добавления - 25 Октября 2010 в 03:07
Сергей Дата: Пн, 25 Октября 2010, 03:09 | Сообщение # 106
Quote (Snow_Irbis )
Не много не пойму как это сделать ?
[#13][#10] см. пример выше Добавлено (25 Октябрь 2010, 03:09) --------------------------------------------- Ну что, сабж по парсеру закончился
Сообщение отредактировано Сергей - Пн, 25 Октября 2010, 03:12
Сообщение Quote (Snow_Irbis )
Не много не пойму как это сделать ?
[#13][#10] см. пример выше Добавлено (25 Октябрь 2010, 03:09) --------------------------------------------- Ну что, сабж по парсеру закончился
Автор - Сергей Дата добавления - 25 Октября 2010 в 03:09
Snow_Irbis Дата: Пн, 25 Октября 2010, 03:18 | Сообщение # 107
Quote (DEMBEL )
StrParse "[Strings]" "[#13][#10]" "[Data]" "[y]"
Доступно только для пользователей
Quote (Сергей )
Ну что, сабж по парсеру закончился
Видимо да
Добавлено (25 Октябрь 2010, 03:18) --------------------------------------------- Всем спасибо и спокойной ночи !
Сообщение Quote (DEMBEL )
StrParse "[Strings]" "[#13][#10]" "[Data]" "[y]"
Доступно только для пользователей
Quote (Сергей )
Ну что, сабж по парсеру закончился
Видимо да
Добавлено (25 Октябрь 2010, 03:18) --------------------------------------------- Всем спасибо и спокойной ночи !
Автор - Snow_Irbis Дата добавления - 25 Октября 2010 в 03:18
DEMBEL Дата: Пн, 25 Октября 2010, 03:25 | Сообщение # 108
ну если пока что нужен только емеил то строку конвертить незачем, да и заводить лишнюю переменную тоже незачем как было сказано. потом другие элементы вытаскиваешь указывая номер напрямую [Data6 ] или делаешь разбор массива [Data[x]] в цикле, формируешь (наращиваешь) строку для записи в файл и пишешь
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение ну если пока что нужен только емеил то строку конвертить незачем, да и заводить лишнюю переменную тоже незачем как было сказано. потом другие элементы вытаскиваешь указывая номер напрямую [Data6 ] или делаешь разбор массива [Data[x]] в цикле, формируешь (наращиваешь) строку для записи в файл и пишешь Автор - DEMBEL Дата добавления - 25 Октября 2010 в 03:25
Сергей Дата: Пн, 25 Октября 2010, 03:28 | Сообщение # 109
ну если усе, тогда пошел я фильм "Край" смотреть
Сообщение ну если усе, тогда пошел я фильм "Край" смотреть Автор - Сергей Дата добавления - 25 Октября 2010 в 03:28
Snow_Irbis Дата: Пн, 25 Октября 2010, 03:35 | Сообщение # 110
Quote (DEMBEL )
ну если пока что нужен только емеил то строку конвертить незачем
Ну это сейчас не зачем , но в скором времени будут кирилические домены , надо суетиться заранее
Quote (DEMBEL )
да и заводить лишнюю переменную тоже незачем как было сказано. потом другие элементы вытаскиваешь указывая номер напрямую [Data6] или делаешь разбор массива [Data[x]] в цикле, формируешь (наращиваешь) строку для записи в файл и пишешь
ОК
Quote (Сергей )
ну если усе
Ну на сегодня думаю да , а там мало ли какие вопросы у меня еще могут быть
Quote (Сергей )
тогда пошел я фильм "Край" смотреть
Фильм мягко говоря лайно , но это на любителя
Сообщение отредактировано Snow_Irbis - Пн, 25 Октября 2010, 03:35
Сообщение Quote (DEMBEL )
ну если пока что нужен только емеил то строку конвертить незачем
Ну это сейчас не зачем , но в скором времени будут кирилические домены , надо суетиться заранее
Quote (DEMBEL )
да и заводить лишнюю переменную тоже незачем как было сказано. потом другие элементы вытаскиваешь указывая номер напрямую [Data6] или делаешь разбор массива [Data[x]] в цикле, формируешь (наращиваешь) строку для записи в файл и пишешь
ОК
Quote (Сергей )
ну если усе
Ну на сегодня думаю да , а там мало ли какие вопросы у меня еще могут быть
Quote (Сергей )
тогда пошел я фильм "Край" смотреть
Фильм мягко говоря лайно , но это на любителя
Автор - Snow_Irbis Дата добавления - 25 Октября 2010 в 03:35
Сергей Дата: Пн, 25 Октября 2010, 03:40 | Сообщение # 111
кстати, может, для обхода этих и других проблем целесообразней заменять делиметр на другой, например * или любой другой(я обычно такие заменяю на ::), только не в файле , а непосредственно в цикле Quote
FileLen "[WorkFolder]users.txt" "[len]" Loop "1" "[len]" "[i]" FileRead "[WorkFolder]users.txt" "[i]" "[USERS]" StrReplace "[USERS]" "[#13][#10]" "*" "[USERS]" "" StrParse "[USERS]" "*" "[Data]" "" FileWrite "[WorkFolder]data.txt" "[i]" "[Data8]" EndLoop
Сообщение отредактировано Сергей - Пн, 25 Октября 2010, 03:48
Сообщение кстати, может, для обхода этих и других проблем целесообразней заменять делиметр на другой, например * или любой другой(я обычно такие заменяю на ::), только не в файле , а непосредственно в цикле Quote
FileLen "[WorkFolder]users.txt" "[len]" Loop "1" "[len]" "[i]" FileRead "[WorkFolder]users.txt" "[i]" "[USERS]" StrReplace "[USERS]" "[#13][#10]" "*" "[USERS]" "" StrParse "[USERS]" "*" "[Data]" "" FileWrite "[WorkFolder]data.txt" "[i]" "[Data8]" EndLoop
Автор - Сергей Дата добавления - 25 Октября 2010 в 03:40
Snow_Irbis Дата: Пн, 25 Октября 2010, 03:42 | Сообщение # 112
Доступно только для пользователей Добавлено (25 Октябрь 2010, 03:42) --------------------------------------------- А или имеется в виду сначала произвести его замену ?
Доступно только для пользователей
Сергей Дата: Пн, 25 Октября 2010, 04:06 | Сообщение # 113
хотя, может и ненадо всетаки при 9 000 лишняя команда.... ладно, сам проверишь....Добавлено (25 Октябрь 2010, 04:06) ---------------------------------------------
Quote (Snow_Irbis )
Фильм мягко говоря лайно
ну у меня есть еще комедия Red
Сообщение отредактировано Сергей - Пн, 25 Октября 2010, 03:45
Сообщение хотя, может и ненадо всетаки при 9 000 лишняя команда.... ладно, сам проверишь....Добавлено (25 Октябрь 2010, 04:06) ---------------------------------------------
Quote (Snow_Irbis )
Фильм мягко говоря лайно
ну у меня есть еще комедия Red Автор - Сергей Дата добавления - 25 Октября 2010 в 04:06
Сергей Дата: Пн, 25 Октября 2010, 21:20 | Сообщение # 114
Вот еще забавный результат-см. прик. Snow_Irbis стоит обратить на третий вариант внимание. Скомпилируйте и нажмите Auto Parser результат будет в файле result.txt рядом с проектом.
Сообщение отредактировано Сергей - Пн, 25 Октября 2010, 21:23
Сообщение Вот еще забавный результат-см. прик. Snow_Irbis стоит обратить на третий вариант внимание. Скомпилируйте и нажмите Auto Parser результат будет в файле result.txt рядом с проектом. Автор - Сергей Дата добавления - 25 Октября 2010 в 21:20