Статья спиннинг с помощью Spintax
Вращение статьи - это метод поисковой оптимизации, с помощью которого оптимизаторы размещают уникальную версию релевантного контента в каталогах статей, сайтах Web 2.0 или других источниках обратных ссылок.
Иногда авторы веб-сайтов используют их на своих сайтах, но обычно их избегают, поскольку качество раскрученного контента будет ниже, чем рукописного контента. Спиннинг работает путем переписывания существующих статей или частей статей и замены отдельных слов, фраз, предложений или даже целых абзацев на любое количество альтернативных версий, чтобы обеспечить немного разные вариации с каждым спином.
Этот процесс может быть полностью автоматизирован или переписать вручную. Ваша задача сегодня будет состоять в том, чтобы создать программу или функцию, которая интерпретирует строку, содержащую Spintax , синтаксис, с помощью которого программа будет считывать различные доступные опции. Ниже приведен пример строки, которая использует Spintax:
{Hello|Hi there|Bonjour}, user! {What's up?|How are you?|Feeling alright?|I caught a fish!}
Как видите, фрагменты строки, которые должны быть «закручены», заключены в фигурные скобки, где отдельные параметры разделяются по |
символу. Вот несколько примеров предложений, которые это может дать.
Hi there, user! What's up?
Hello, user! How are you?
Bonjour, user! Feeling alright?
Hello, user! What's up?
Hi there, user! I caught a fish!
Твоя работа
Ваша миссия, если вы решите принять ее, - создать программу или функцию, которая принимает входную строку, которая может содержать или не содержать Spintax , а затем распечатать 5 версий строки, случайным образом выбирая один из вариантов из каждого блока параметров. Вы можете сделать несколько предположений:
- Вам не нужно будет обращаться с вложенным Spintax (
{This|is {an|one}|example}
). - В
|
,{
и}
персонажи не будут происходить в другом месте, кроме внутри блока Spintax. - Вам не нужно проверять, различаются ли 5 выходных предложений, если код выбирает опции, используя функцию случайных чисел вашего языка.
- Вы можете предположить, что ввод заканчивается новой строкой.
правила
тесты
1. {A|The|One} {quick|magnificent|charming|lucky|fast|super|cool} {gold|tan|yellow|white|brown|silver} {beaver|packrat|cat|lion|tiger|fox|dog|wolf} {consumed|ate|pilfered} my {pastry|strudel|cake}.
-------------------------------------------
One cool brown wolf consumed my pastry.
...(3 more here)...
The charming yellow beaver ate my cake.
-------------------------------------------
2. This sentence is valid, and happens to have no Spintax!
-------------------------------------------
This sentence is valid, and happens to have no Spintax!
...(3 more here)...
This sentence is valid, and happens to have no Spintax!
-------------------------------------------
3. {beg|get|ton|sun|bun|can|top|big}{2|3|4|5}{A|B|C|D|E|F|G}{2|3|4|5|6|7}{at|as|be|ex|hi|}{!|#|%}
-------------------------------------------
top2F2hi%
...(3 more here)...
big3E4ex#
Четвертый тест можно найти здесь.
Это код-гольф , поэтому выигрывает меньшее количество байтов.
{
, |
, }
собирается найти во входной строке, где есть Spintax.