Удалить все буквы между определенными символами

Нужно удалить все что лежит между определенным маркером ( К примеру: "%" ) и символом "\n" (Т.е новая строка)

def solution(input, markers)

end

solution("dsfaas% fdfd\nFOO !F\n BAR", ["%", "!"])

На выходе должно получится что-то типа "dsfaas FOO BAR"


Ответы (3 шт):

Автор решения: Akina
puts "sfaas% fdfd\nFOO !F\n BAR".gsub(/[\%\!][^\n]*\n/,"")
→ Ссылка
Автор решения: Ainar-G

Самый примитивный вариант:

def solution(str, markers)
  str.gsub(/[#{markers.join}].*\n/, '')
end

Но тут надо помнить, что символы -, [, и ] использовать надо крайне осторожно, ибо они могут быть неверно интерпретированы в регулярном выражении.

→ Ссылка
Автор решения: Nakilon
input.split(markers[0])[1].
      split(markers[1])[0]
→ Ссылка