Регулярное выражение, которое у вас есть, уже работает правильно.Однако вам необходимо присвоить результат обратно строке, с которой вы работаете.В противном случае вы не изменяете строку (.gsub()
не изменяет строку на месте).
Вы можете немного улучшить регулярное выражение, добавив квантификатор '+' (чтобы можно было заменить последовательные символына одном дыхании).Кроме того, вам не нужно экранировать угловые скобки:
oneLine = oneLine.gsub(/[^ULDR0-9<>\s]+/i, '')
Хороший ресурс с особым вниманием к регулярным выражениям Ruby - это книга регулярных выражений , написанная Яном Гойваертсом и Стивеном Левитаном.Хорошее онлайн-руководство от того же автора: здесь .