1

Тема: Подстановочные знаки, перестановка значений в предложении

Уважамые господа,

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

С-10/B-2 10": HO operation carried out between 08:45 - 18:00 hrs.
С-11/B-2 8" NL: HO operation carried out between 08:40 - 17:40 hrs.

На русскому языке текст должен выглядить примерно вот так, т.е. временное значение (время, интервал) находятся в первой части предложения (после двоеточие).

С-10/B-2 10" трубопровод: между 08:45 - 18:00 прокачали подогретую нефть.
С-11/B-2 8" новый трубопровод: между 08:40 - 17:40 прокачали подогретую нефть

Может быть и такой вариант:
С-13/140: well was SI between 10:30-11:50 hrs, choke was gradually increased to previous setting at 13:20 hrs.

Должно выглядить вот таким образом:
С-13/140: между 10:30-11:50 скважина закрыта, в 13:20 штуцер увеличили на предыдущий размер.

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

Каким то образом можно использовать "подстановчные знаки" и текст выложиться в нужной последовательности (к сведению, запускую в начале макрос на замену слов с англиский на русский, после чего использовал "Найти и заменить" с "подстановчными знаками"). Из первого примера (С-10/B-2 10" трубопровод: между 08:45 - 18:00 прокачали подогретую нефть.), например, после запуска макроса на перевод получалось примерно вот такое: "С-10/B-2 10" трубопровод: прокачали подогретую нефть между 08:45 - 18:00.". Чтобы поставить в нужном порядки попробовал использовать ":" (двоеточие) как отметку начала предложения. В самом первом предложении срабатывало, но затем в следующих (а их может быть от 10 до 40 предолжений) начинается путаница. Предложения могут быть разделены знаком абзаца или точкой. Подскажите, какие есть варианты?

2

Re: Подстановочные знаки, перестановка значений в предложении

Да уж, путаница. Предыстория о переводе лишняя, вопрос то о поиске и замене.
По-моему нужна замена, которая перемещает текст вида «в 00:00» и «между 00:00-00:00» к ближайшему впередистоящему знаку "," или ":" или ";".

Для «в 00:00»:
Найти: ([,:;])([!^13,:;]@)( в [0-9]{2}:[0-9]{2}>)
Заменить: \1\3\2
Подстановочные знаки: Да

Для «между 00:00-00:00»:
Найти: ([,:;])([!^13,:;]@)( между [0-9]{2}:[0-9]{2}-[0-9]{2}:[0-9]{2}>)
Заменить: \1\3\2
Подстановочные знаки: Да

Для «между 00:00 - 00:00»:
Найти: ([,:;])([!^13,:;]@)( между [0-9]{2}:[0-9]{2} - [0-9]{2}:[0-9]{2}>)
Заменить: \1\3\2
Подстановочные знаки: Да

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Подстановочные знаки, перестановка значений в предложении

Спасибо тебе Вождь, все нормально работает.