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 означає будь-який символ, а не літеру “крапка”. Екрануйте спеціальні символи коли це потрібно: /\./
- коли шукаєте літеральну крапку.