Час нового виклику з друкарні ! Це звичайна проблема, коли копіювання між різними форматами документів: дефіс. Незважаючи на те, що це зменшує нерівність лівого вирівнювання чи вирівнювання проміжків у виправданому макеті, це повна біль, коли ваш PDF не сконструйований належним чином і зберігає дефіси в макеті, що робить ваш скопійований текст важким для редагування чи поповнення.
На щастя, якщо ми віримо незліченним книгам про самодопомогу там, нічого не проблема, якщо ти бачиш це як виклик. Я вважаю, що ці книги самодопомоги без винятку посилаються на PPCG, де будь-яка проблема буде вирішена, якщо подати її як виклик. Ваше завдання - видалити з тексту тексти, що порушують переноси та рядки, щоб вони були готові вставити їх у будь-який текстовий редактор.
Опис проблеми
Ви напишете програму або функцію, яка видаляє дефіс та розриви рядків, де це можливо. Вхід буде рядок на stdin
(або найближчий варіант) або в якості входу функції. Вихід (на stdout
або найближчий альтернативному або функцію виведення) буде «виправлено» текст. Цей текст повинен бути безпосередньо копіюваним. Це означає, що вихідний чи кінцевий висновок у порядку, але додатковий вихід на півдорозі виправленого тексту (наприклад, провідні пробіли у кожному рядку) - ні .
Найбільш основний випадок - наступний (зверніть увагу: немає пробілів)
Lorem ipsum dolor sit amet, con-
sectetur adipiscing elit. Morbi
lacinia nisi sed mauris rhoncus.
Злочинних дефісів та перерив рядків слід усунути, щоб отримати
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lacinia nisi sed mauris rhoncus.
Однак слід дотримуватися кількох винятків.
- Подвійні рядки вказують на розрив абзацу, і їх слід зберегти.
- Власні іменники та імена ніколи не розбиваються через два рядки, якщо вони вже не містять дефісу (наприклад, рівняння Нав'є-Стокса). Перерву лінії слід усунути, але дефіс зберегти. Ці випадки можна ідентифікувати за великим рахунком з великої літери.
- Іноді дефіс позначає групу слів (наприклад, ХІХ - ХХ століття). Коли це відбувається через два рядки, це вказується провідним пробілом у наступному рядку.
Приклад: (погляди, висловлені в цьому прикладі, є вигаданими і не обов'язково представляють думку автора; противники методу Рунге-Кутта-Фельберга однаково вітають участь у цьому виклику)
Differential equations can
be solved with the Runge-Kutta-
Fehlberg method.
Developed in the nineteenth-
or twentieth century, this
method is completely FANTAS-
TIC.
стане
Differential equations can be solved with the Runge-Kutta-Fehlberg method.
Developed in the nineteenth- or twentieth century, this method is completely FANTASTIC.
Розриви рядків можуть бути \n
або \r\n
кодовою точкою ASCII, залежно від ваших уподобань, а дефіс - це простий ASCII -
(знак мінус). Підтримка UTF-8 не потрібна. Це завдання - код-гольф , тому найкоротший код виграє.