Перейти к содержимому


Копирование теста из Microsoft Word в notepad++ и дальнейшая корректировка

notepad++ Microsoft Word Макрос копирование теста

Сообщений в теме: 3

#1 manolive

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 09 Ноябрь 2017 - 12:56

Книга с тестами в формате Microsoft Word. Тест там мягко говоря плавает ( слишком большой интервал между словам, часть одной строки на 2-ю строку перенеслась, слипшиеся текст- не имеет пустой строки за каждым вопросом и т.д. ). Копирую текст в notepad++. Использую макрос по удалению пробелов в большом тексте за пару секунд.
Но не могу вопрос в одну строчку сделать.
В Microsoft Word:

149. Сопутствующей патологией у больных ишемической болезнью сердца,
при которой применение b-адреноблокаторов абсолютно
противопоказано, является
а) синдром слабости синусового узла
б) перемежающаяся хромота
в) синдром Рейно
г) инсулинозависимый сахарный диабет

150. Сопутствующей патологией у больных с приступами стенокардии,
при которой применение b-адреноблокаторов противопоказано
или не рекомендуется, является
а) декомпенсированная сердечная недостаточность
б) бронхиальная астма
в) язвенная болезнь желудка и двенадцатиперстной кишки
в фазе обострения
г) артериальная гипотензия (систолическое АД 100 мм рт. ст. и ниже)
д) все перечисленное

Использовал ctrl+J - выровнял в одну строку. Очень много вопросов и все нужно поправить.
Возможно ли как то в Microsoft Word или notepad++ или где то еще решить проблему корректировки. Подскажите макрос или вырожение.
Может через Sublime Text 3 можно корректировать.
Допустим в notepad++ я смог получить пустую строку между ответами и вопросами. И это для каждого пронумерованного вопроса.
В поле "найти" \r\n(?=а\))
В поле "заменить" \r\n\r\n


149. Сопутствующей патологией у больных ишемической болезнью сердца, при которой применение b-адреноблокаторов абсолютно противопоказано, является

а) синдром слабости синусового узла
б) перемежающаяся хромота
в) синдром Рейно
г) инсулинозависимый сахарный диабет

Удалил лишние пробелы во всем тексте
В поле "найти" 2-3 пробела
В поле "заменить" 1 пробел

150. Сопутствующей патологией у больных с приступами стенокардии, при которой применение b-адреноблокаторов противопоказано или не рекомендуется, является
а) декомпенсированная сердечная недостаточность
б) бронхиальная астма
в) язвенная болезнь желудка и двенадцатиперстной кишки в фазе обострения
г) артериальная гипотензия (систолическое АД 100 мм рт. ст. и ниже)
д) все перечисленное

(в notepad++ вопрос занимает 1 строчку а вариант ответа в прежнем состоянии)

Дальше сохраняю в блокноте и экспорт теста в INDIGO.
Просто очень много текста в формате Microsoft Word и очень нестабильного. В прошлом году 4450 вопросов я обработал благодаря макросам с 1 и более вариантов ответами при notepad++ и удачно экспортировал в INDIGO. Программа корректно работает благодаря постоянному обновлению.

#2 Administrator

    Менеджер проекта

  • Администраторы
  • 1 413 сообщений

Отправлено 09 Ноябрь 2017 - 13:31

Это очень сложные задачи. Особенно на регулярках. Мы такие вещи стараемся делать на языках программирования через обработку строкового массива. Это получается намного проще. Здесь же много нюансов учесть не получится, слишком много может быть проблем. Конвертировать из одного вида к другому можно, при условии, что первичная форма не меняется. У Вас же могут проскакивать какие-то особые случаи типа наличия переноса внутри самого варианта ответов и прочее. Мы решили задачу, которую Вы просили по устранению переносов строк в тексте вопросов. Например, имеем текст:

149. Сопутствующей патологией у больных ишемической болезнью сердца,
при которой применение b-адреноблокаторов абсолютно
противопоказано, является
а) синдром слабости синусового узла
б) перемежающаяся хромота
в) синдром Рейно
г) инсулинозависимый сахарный диабет

150. Сопутствующей патологией у больных с приступами стенокардии,
при которой применение b-адреноблокаторов противопоказано
или не рекомендуется, является
а) декомпенсированная сердечная недостаточность
б) бронхиальная астма
в) язвенная болезнь желудка и двенадцатиперстной кишки в фазе обострения
г) артериальная гипотензия (систолическое АД 100 мм рт. ст. и ниже)
д) все перечисленное

Notepad++ (Replace, режим регулярных выражения включен)

Найти: (^(?![абвгдежз]\)).+)
Заменить на: \1#

Получим:


149. Сопутствующей патологией у больных ишемической болезнью сердца,#
при которой применение b-адреноблокаторов абсолютно#
противопоказано, является#
а) синдром слабости синусового узла
б) перемежающаяся хромота
в) синдром Рейно
г) инсулинозависимый сахарный диабет

150. Сопутствующей патологией у больных с приступами стенокардии,#
при которой применение b-адреноблокаторов противопоказано#
или не рекомендуется, является#
а) декомпенсированная сердечная недостаточность
б) бронхиальная астма
в) язвенная болезнь желудка и двенадцатиперстной кишки в фазе обострения
г) артериальная гипотензия (систолическое АД 100 мм рт. ст. и ниже)
д) все перечисленное

# - технический символ, можете использовать любой другой, главное, чтобы он в тексте не встречался.

Далее:

Найти: #\r\nа\)
Заменить на: \r\nа\)

а - русская!!!

149. Сопутствующей патологией у больных ишемической болезнью сердца,#
при которой применение b-адреноблокаторов абсолютно#
противопоказано, является
а) синдром слабости синусового узла
б) перемежающаяся хромота
в) синдром Рейно
г) инсулинозависимый сахарный диабет

150. Сопутствующей патологией у больных с приступами стенокардии,#
при которой применение b-адреноблокаторов противопоказано#
или не рекомендуется, является
а) декомпенсированная сердечная недостаточность
б) бронхиальная астма
в) язвенная болезнь желудка и двенадцатиперстной кишки в фазе обострения
г) артериальная гипотензия (систолическое АД 100 мм рт. ст. и ниже)
д) все перечисленное

Далее:

Найти:#\r\n
Заменить на:пусто

Получим:

149. Сопутствующей патологией у больных ишемической болезнью сердца,при которой применение b-адреноблокаторов абсолютнопротивопоказано, является
а) синдром слабости синусового узла
б) перемежающаяся хромота
в) синдром Рейно
г) инсулинозависимый сахарный диабет

150. Сопутствующей патологией у больных с приступами стенокардии,при которой применение b-адреноблокаторов противопоказаноили не рекомендуется, является
а) декомпенсированная сердечная недостаточность
б) бронхиальная астма
в) язвенная болезнь желудка и двенадцатиперстной кишки в фазе обострения
г) артериальная гипотензия (систолическое АД 100 мм рт. ст. и ниже)
д) все перечисленное


#3 manolive

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 09 Ноябрь 2017 - 15:35

Спасибо ! У меня получилось.
Теперь можно учиться спокойно.

#4 Administrator

    Менеджер проекта

  • Администраторы
  • 1 413 сообщений

Отправлено 09 Ноябрь 2017 - 16:03

Дополнение: В последней замене я указал пусто, это нормально, т.к. в примере все строки кончаются запятой, если же есть другие случаи, то, чтобы слова не слиплись, то в качестве замены нужно поставить пробел.




Ответить



  

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных