Фон
Це перша частина поля для гольфу з 3 отворами з обробки тексту. Ідея над архівуванням полягає в тому, що якщо взяти вхідний текст і передати його через рішення для всіх трьох викликів (з невеликою кількістю клейового коду), він виплюне красиво відформатований параграф. У цьому першому виклику ваше завдання - це дефіс тексту з використанням заданих зразків переносу.
Вхідні дані
Ваша програма повинна взяти два рядкових введення: фрагмент тексту та список зразків переносів. Перший вхід - це просто не порожній рядок для друку ASCII символів та пробілів; він не буде містити розривів рядків чи тильдів ~
. Другий вхід - це список знаків, розділених комами, які складаються із складених тилом складів з малих символів ASCII. Прикладом є ex~cel~lent,pro~gram~ming,abil~i~ties
.
Вихідні дані
Ваша програма повинна змінити перший вклад таким чином. Будь-яке слово (максимальна підстрочка алфавітних символів ASCII), дефіс у рядку з другого вводу є заміненим на дефіс, але його справа зберігається. У наведеному вище прикладі списку, якщо текст містить слово Excellent
, його замінити на Ex~cel~lent
; однак Excellently
не може бути змінено. Вашим результатом має бути цей змінений рядок.
Детальні правила та підрахунок балів
Про входи можна припустити:
- Перший вхід не містить тильдів і жодних проміжних, повторних чи повторних пробілів. Він не порожній.
- Другий вхід містить щонайменше одне слово, і кожне слово в ньому містить щонайменше два склади. Кожен склад не порожній.
- Другий вхід не містить слова, яке відбувається як склад у іншому слові.
За бажанням ви можете змінити порядок двох входів і, за бажанням, додати один висновок нового рядка до виводу.
Ви можете написати функцію або повну програму. Виграє найменший байт, а стандартні лазівки заборонені.
Випробування
Вони перелічені у форматі 1st input [newline] 2nd input [newline] output
.
Excellent programming abilities, you work excellently!
ex~cel~lent,pro~gram~ming,abil~i~ties
Ex~cel~lent pro~gram~ming abil~i~ties, you work excellently!
Superman (sometimes incorrectly spelled "Super-man") is super #&%@ing strong.
su~per,some~times,in~cor~rectly,spell~ing
Superman (some~times in~cor~rectly spelled "Su~per-man") is su~per #&%@ing strong.
IncONsISTent caPItalizATIon!
in~con~sis~tent,cap~i~tal~iza~tion
In~cON~sIS~Tent caP~I~tal~izA~TIon!
Such short words.
awk~ward
Such short words.
Digits123 are456cool789.
dig~its,dig~i~tal,are~cool
Dig~its123 are456cool789.
magic magic
ma~gic
ma~gic ma~gic
Будь-яка можлива помилка переносу в цьому виклику пов'язана з цим засобом переносу .
#programming!
і раніше, буде впливати на другий ввід pro~gram~ming
)? Чи не враховуються числа (тобто дозволяються лише алфавітні символи)?