View previous topic :: View next topic |
Author |
Message |
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Tue Dec 09, 2014 13:11 Post subject: |
|
|
ProgMan13
Спасибо, надо было сразу репортить |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
|
Back to top |
|
|
ProgMan13
Joined: 19 Aug 2009 Posts: 334
|
(Separately) Posted: Fri Dec 12, 2014 11:58 Post subject: |
|
|
Skif_off
TC падает если количество символов в подсказке в районе 3000. Плагин для одной строки возвращает максимально 1021 символ. Так что правильно их ограничивать для подсказок. |
|
Back to top |
|
|
ProgMan13
Joined: 19 Aug 2009 Posts: 334
|
(Separately) Posted: Fri Jan 09, 2015 19:29 Post subject: |
|
|
Гислер подтвердил баг в TC с длинными подсказками и пообещал исправить.
Проблема в принудительном разбиении строк (CRLF): их 25 и под них резервируется 50 байт, а должно 50 юникодных символов, т.е. 100 байт. Авторы плагинов могут принудительно вставлять разрыв строк, чтобы избежать этих проблем. Правда, как я понимаю, придётся высчитывать кол-во символов. Я разбираться с этим не стал.
Добавил только пропуск пустых строк:
http://progman13.totalcmd.net/downloads/wdx_TextLine_Unicode_Beta.zip |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Mon Jan 19, 2015 15:20 Post subject: |
|
|
Ни у кого случайно не осталась предыдущая версия, в которой ещё не работает опция SkipEmpty=1?
Добавлено спустя 3 минуты:
ProgMan13 wrote: | Авторы плагинов могут принудительно вставлять разрыв строк, чтобы избежать этих проблем. Правда, как я понимаю, придётся высчитывать кол-во символов. Я разбираться с этим не стал |
Полностью поддерживаю ваше решение Это наверняка скажется на скорости работы. |
|
Back to top |
|
|
ProgMan13
Joined: 19 Aug 2009 Posts: 334
|
(Separately) Posted: Thu Jan 22, 2015 21:43 Post subject: |
|
|
Skif_off wrote: | Ни у кого случайно не осталась предыдущая версия, в которой ещё не работает опция SkipEmpty=1?
|
Зачем? Если прописать SkipEmpty=0, то будет работать как предыдущая. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Thu Jan 22, 2015 23:51 Post subject: |
|
|
ProgMan13
Показалось, что даже с SkipEmpty=0 есть задержка, но лучше поверю на слово, спасибо |
|
Back to top |
|
|
vitjazzz
Joined: 27 Feb 2015 Posts: 4
|
(Separately) Posted: Mon Mar 02, 2015 01:24 Post subject: количество строк |
|
|
Подскажите каким образом вывести 15 и 20 строки файла? Есть ограничения в количестве строк (до 10)? |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Mon Mar 02, 2015 02:09 Post subject: |
|
|
vitjazzz
Плагин не умеет больше 10 (пока?) и, наверное, это хорошо - скорость тут должна быть далеко не на последнем месте.
Плагин PCREsearch не пробовали? |
|
Back to top |
|
|
vitjazzz
Joined: 27 Feb 2015 Posts: 4
|
(Separately) Posted: Mon Mar 02, 2015 13:23 Post subject: Skif_off |
|
|
Спасибо за оперативность! PCREsearch помог (частично).
Задачей является вывод в колонку ТС информации тэга xml файла (как оказалось послу установки плагина -у разных файлов разные номера строк целевого тэга//не обратил внимание
Добавлено спустя 29 минут:
Если правильно понял, для решения моей задачи необходимо написать регулярное выражение для поиска строки с тэгом <LastName>, родителем для которого будет ИМЕННО <FullName>,
Code: | <FullName>
<LastName>Иванов</LastName>
</FullName> |
так как строка с тэгом <LastName> в xml файле встречается несколько раз:
Code: | <ChiefName>
<LastName>Петров</LastName>
</ChiefName> |
буду учить regexp-ы
Добавлено спустя 1 час 55 минут:
<FullName> встречается в файле только один раз, значит необходимо найти и вывести следующую за <FullName> строку. Помогите с регулярным выражением! Мои попытки безрезультатны:
Code: |
regex4=(\<\Fullname>\R)
|
|
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Mon Mar 02, 2015 19:15 Post subject: |
|
|
vitjazzz
Попробуйте так:
Code: | regex4=(<FullName>[\r\n]{1, 2}\s+<LastName>)([А-ЯЁа-яё]+)(</LastName>)
regex4replace=$2 |
|
|
Back to top |
|
|
vitjazzz
Joined: 27 Feb 2015 Posts: 4
|
(Separately) Posted: Tue Mar 03, 2015 11:30 Post subject: |
|
|
Пустые строки выдает ТС. Ни в какую
А очень нужно. С регекспами знаком очень поверхностно, а плагин работает именно с ними, придётся разбираться...
Возможно есть RegExp тестеры, которые помогут мне быстрее вникнуть? Что посоветуете? |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Tue Mar 03, 2015 12:39 Post subject: |
|
|
vitjazzz
Есть масса онлайн-ресурсов, сам только осваиваюсь, предпочитаю RegExp или (чаще) в текстовом редакторе пробую.
Напортачил я в количестве повторений, прошу прощения, попробуйте так:
Code: | regexN=(<FullName>[\r\n]{1,2}\s*<LastName>)([А-ЯЁа-яё]+)(</LastName>)
regexNreplace=$2 |
К слову, похожая задача, только я там экранирую скобки <>, это делать необязательно
P.S. Не забывайте, что при копировании кода в конец каждой строки добавляется пробел, что может сыграть дурную шутку.
P.P.S. Наверное, нужна отдельная тема по регэкспам... |
|
Back to top |
|
|
vitjazzz
Joined: 27 Feb 2015 Posts: 4
|
(Separately) Posted: Tue Mar 03, 2015 15:02 Post subject: TO Skif_off |
|
|
Решено и реализовано с помощью идеи Skiff_off,
онлайн-тест-отладчика https://regex101.com/#pcre
Регулярное выражение:
Code: | (<FullName>\K)+[\n\s]+(<LastName>\K)([А-ЯІЇҐ][а-яіїґ]+) |
возвращает строку между тэгом LastName идущим ПОСЛЕ тэга FullName (т.к. LastName в искомых файлах встречается минимум три и больше раз)
Часть XML файла:
Code: | <RegionalContacts>
<LocalAuthorityHead>
<LastName>Фамилия</LastName>
<FirstName>Главы</FirstName>
<MiddleName>Сельсовета</MiddleName>
</LocalAuthorityHead>
..................................................................................
<Percent>100</Percent>
</ParcelPart>
<Authentication>
<NaturalPerson>
<FullName>
<LastName>Іванов</LastName>
<FirstName>Іван</FirstName>
<MiddleName>Зіновійович</MiddleName> |
Огромная благодарность товарищу Skif_off за проявленую помощь и интерес |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Sep 19, 2015 19:20 Post subject: |
|
|
Не работает ссылка
Скачалось.
Добавлено спустя 1 час 22 минуты:
Есть идеи, каким образом можно осуществить вывод текстовых строк в колонки из файла, находящегося в архиве? Речь о словарях dsl, упакованных каждый в отдельный архив dz c помощью dictzip. По сути обычный gzipped. |
|
Back to top |
|
|
|