Inspirado en esta sencilla pregunta de StackOverflow .
La idea es simple; dada una Cadena y una matriz de Cadenas, elimine cualquier instancia de palabras en la matriz (ignorando mayúsculas y minúsculas) de la Cadena de entrada que no sea la primera, junto con cualquier espacio en blanco adicional que esto pueda dejar. Las palabras deben coincidir con palabras completas en la cadena de entrada, y no con partes de palabras.
por ejemplo, "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"]debería salir"A cat called matt sat on a mat and wore a hat A called matt sat on a and wore a hat"
Entrada
- La entrada puede tomarse como una Cadena y como una matriz de Cadenas o una matriz de Cadenas donde la Cadena de entrada es el primer elemento. Estos parámetros pueden estar en cualquier orden.
- La cadena de entrada no puede tomarse como una lista de cadenas delimitadas por espacios.
- La cadena de entrada no tendrá espacios iniciales, finales o consecutivos.
- Toda entrada solo contendrá caracteres [A-Za-z0-9] con la excepción de la Cadena de entrada que también incluye espacios.
- La matriz de entrada puede estar vacía o contener palabras que no están en la cadena de entrada.
Salida
- La salida puede ser el valor de retorno de una función o imprimirse en STDOUT
- La salida debe estar en el mismo caso que la cadena original
Casos de prueba
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
Como se trata de código de golf, gana el conteo de bytes más bajo
This is a test Will this be correct Both will be removed+this will. Las dos últimas palabras se eliminan correctamente, pero también eliminóbela segunda después de la segundawillpor alguna razón.