Вдохновлен этим скромным вопросом StackOverflow .
Идея проста; учитывая String и массив Strings, удалите любые экземпляры слов в массиве (игнорируя регистр) из входной строки, кроме первой, вместе с любыми дополнительными пробелами, которые это может оставить. Слова должны соответствовать целым словам во входной строке, а не частям слов.
например "A cat called matt sat on a mat and wore a hat A cat called matt sat on a mat and wore a hat", ["cat", "mat"]
должен выводить"A cat called matt sat on a mat and wore a hat A called matt sat on a and wore a hat"
вход
- В качестве входных данных можно использовать либо строку, либо массив строк или массив строк, где входная строка является первым элементом. Эти параметры могут быть в любом порядке.
- Входная строка не может быть принята как список строк, разделенных пробелом.
- Входная строка не будет иметь начальных, конечных или последовательных пробелов.
- Все входные данные будут содержать только символы [A-Za-z0-9], за исключением входной строки, также включающей пробелы.
- Входной массив может быть пустым или содержать слова, отсутствующие во входной строке.
Выход
- Вывод может быть либо возвращаемым значением из функции, либо распечатан в STDOUT
- Вывод должен быть в том же случае, что и исходная строка
Контрольные примеры
the blue frog lived in a blue house, [blue] -> the blue frog lived in a house
he liked to read but was filled with dread wherever he would tread while he read, [read] -> he liked to read but was filled with dread wherever he would tread while he
this sentence has no matches, [ten, cheese] -> this sentence has no matches
this one will also stay intact, [] -> this one will also stay intact
All the faith he had had had had no effect on the outcome of his life, [had] -> All the faith he had no effect on the outcome of his life
5 times 5 is 25, [5, 6] -> 5 times is 25
Case for different case, [case] -> Case for different
the letters in the array are in a different case, [In] -> the letters in the array are a different case
This is a test Will this be correct Both will be removed, [this,will] -> This is a test Will be correct Both be removed
Поскольку это кодовый гольф, выигрывает самое низкое количество байтов!
This is a test Will this be correct Both will be removed
+this will
. Вторые два слова удаляются правильно, но оно также удаляетсяbe
после второгоwill
по некоторым причинам.