Переводчики часто сталкиваются с ситуацией, когда после извлечения текста на перевод из формата PDF простым копированием или с распознаванием средствами OCR предложения оказываются разорванными символами абзаца. Это, конечно, затрудняет работу с подобными файлами в системах ТМ.
Для филологов иногда актуальна задача объединения строк стихотворных произведений в соответствии с их членением на предложения.
Рассмотрим простое решение подобных задач на примере с песней Виктора Цоя «Звезда по имени Солнце».
Одеялом лоскутным на ней - // Город в дорожной петле.
А над городом плывут облака, // Закрывая небесный свет.
А над городом - желтый дым, // Городу две тысячи лет, // Прожитых под светом Звезды // По имени Солнце...
И две тысячи лет - война, // Война без особых причин.
Война - дело молодых, // Лекарство против морщин.
Красная, красная кровь - // Через час уже просто земля, // Через два на ней цветы и трава, // Через три она снова жива // И согрета лучами Звезды // По имени Солнце...
И мы знаем, что так было всегда, // Что Судьбою больше любим, // Кто живет по законам другим // И кому умирать молодым.
Он не помнит слово "да" и слово "нет", // Он не помнит ни чинов, ни имен.
И способен дотянуться до звезд, // Не считая, что это сон, // И упасть, опаленным Звездой // По имени Солнце...
Скопируем текст песни в MS Word и вызовем окно замены (CTRL+H):
Нажав Заменить все, получаем текст в том виде, в каком он был приведен выше.
В строке Найти:
Соответственно, поисковую строку ([!\.\?\!…])(^0013) можно прочитать следующим образом: найти такую последовательность символов, при которой перед знаком абзаца (^0013) не стоит точка (\.), вопросительный знак (\?), восклицательный знак (\!) или многоточие (…).
В строке Заменить на:
Подробное руководство по использованию этой функции можно посмотреть здесь.
Для филологов иногда актуальна задача объединения строк стихотворных произведений в соответствии с их членением на предложения.
Рассмотрим простое решение подобных задач на примере с песней Виктора Цоя «Звезда по имени Солнце».
Нам нужно, чтобы ее текст приобрел такой вид (нажмите, чтобы развернуть).
Белый снег, серый лед, // На растрескавшейся земле.Одеялом лоскутным на ней - // Город в дорожной петле.
А над городом плывут облака, // Закрывая небесный свет.
А над городом - желтый дым, // Городу две тысячи лет, // Прожитых под светом Звезды // По имени Солнце...
И две тысячи лет - война, // Война без особых причин.
Война - дело молодых, // Лекарство против морщин.
Красная, красная кровь - // Через час уже просто земля, // Через два на ней цветы и трава, // Через три она снова жива // И согрета лучами Звезды // По имени Солнце...
И мы знаем, что так было всегда, // Что Судьбою больше любим, // Кто живет по законам другим // И кому умирать молодым.
Он не помнит слово "да" и слово "нет", // Он не помнит ни чинов, ни имен.
И способен дотянуться до звезд, // Не считая, что это сон, // И упасть, опаленным Звездой // По имени Солнце...
Воспользуемся функцией замены по подстановочным знакам в MS Word.
Скопируем текст песни в MS Word и вызовем окно замены (CTRL+H):
- В строку Найти: введем ([!\.\?\!…])(^0013).
- В строку Заменить на: введем \1 // (после единицы со слэшем влево пробел, два слэша вправо и еще один пробел).
Нажав Заменить все, получаем текст в том виде, в каком он был приведен выше.
Пояснения по используемым символам
В строке Найти:
| Отдельное выражение для замены. Порядок следования выражений определяет их нумерацию. | |
[...] | Набор (или диапазон) знаков, формирующих выражение. | |
! | Исключение набора (или диапазона) символов после восклицательного знака из выражения. | |
\ | Указание на то, что определенный символ, являющийся специальным, в данном случае выступает в собственном качестве. |
Соответственно, поисковую строку ([!\.\?\!…])(^0013) можно прочитать следующим образом: найти такую последовательность символов, при которой перед знаком абзаца (^0013) не стоит точка (\.), вопросительный знак (\?), восклицательный знак (\!) или многоточие (…).
В строке Заменить на:
\1 | Оставляем первое заключенное в скобки выражение. |
// | Вместо второго заключенного в скобки выражения (знака абзаца) подставляем два слэша вправо, ограниченные с обеих сторон пробелами. |
Подробное руководство по использованию этой функции можно посмотреть здесь.