Удаление символов, соответствующих шаблону

Ruby:
Удаление символов, соответствующих шаблону

Как это сделать:

# Простое удаление с использованием String#gsub
example = "Hello, #World!"
cleaned_example = example.gsub(/#/, '') # => "Hello, World!"

puts cleaned_example # Вывод: Hello, World!

# Удаление последовательности символов
sequence_example = "Th1s is 2 an example3."
cleaned_sequence = sequence_example.gsub(/[0-9]/, '') # => "This is an example."

puts cleaned_sequence # Вывод: This is an example.

# Удаление с использованием String#delete
delete_example = "Remove vowels from this line."
cleaned_delete = delete_example.delete('aeiou') # => "Rmv vwls frm ths ln."

puts cleaned_delete # Вывод: Rmv vwls frm ths ln.

Подробнее

Исторически Ruby является языком с сильным акцентом на обработку текста, унаследовав некоторые свои философии от Perl. Вот почему он предоставляет вам инструменты вроде gsub и delete прямо из коробки.

gsub означает глобальная замена. Часто его используют для замены частей строк, соответствующих шаблону (регулярное выражение), на другую строку. При использовании пустой строки замены он эффективно удаляет соответствующие символы.

delete менее гибкий, чем gsub, но быстрее, когда вам просто нужно удалить определенные символы. Вы не можете использовать регулярные выражения с delete, но для простого удаления символов это простой выбор.

Есть и другие способы справиться с этой задачей. Библиотеки вроде scan и split могут разбирать строки на части, и затем вы можете собрать их уже без нежелательных символов. Но для прямого удаления символов gsub и delete - ваши лучшие друзья.

Смотрите также

  • Документация Ruby gsub: Ruby Doc gsub
  • Документация Ruby delete: Ruby Doc delete
  • Регулярные выражения в Ruby: Ruby Regexp
  • “Programming Ruby: The Pragmatic Programmer’s Guide” для глубокого изучения возможностей обработки текста в Ruby.