Пошук та заміна тексту

Ruby:
Пошук та заміна тексту

Як це зробити:

Заміна тексту в Ruby - просто. Використайте метод gsub для строк. Ось як це працює:

original_string = "Вчимо Ruby разом!"
replaced_string = original_string.gsub('разом', 'ефективно')

puts replaced_string
# => Вчимо Ruby ефективно!

Використайте регулярні вирази, щоб знайти більш складні шаблони:

string_with_numbers = "Ruby3.1.0Rails6.0.3.4"
upgraded_versions = string_with_numbers.gsub(/\d\.\d\.\d/) { |match| 'X.X.X' }

puts upgraded_versions
# => RubyX.X.XRailsX.X.X

Поглиблено:

Історично методи пошуку та заміни коріннями сягають до ранньої обробки тексту і є фундаментом в багатьох мовах програмування. В Ruby є два основних методи: sub і gsub, де sub замінює тільки перше входження, а gsub - всі. Вибори функціоналу між цими двома залежать від потреби.

Альтернативи? Можна використовувати String#tr для заміни окремих символів або String#replace, якщо вам потрібно повністю замінити вміст рядка. Регулярні вирази (regex) в Ruby потужні та гнучкі, і їх варто опановувати для складніших сценаріїв пошуку.

Розбирайтесь у деталях, коли використовуєте регулярні вирази. Наприклад, крапка . в regex означає будь-який символ, а не літеру “крапка”. Екрануйте спеціальні символи коли це потрібно: /\./ - коли шукаєте літеральну крапку.

Дивіться також: