Ruby:
Поиск и замена текста
Как это сделать:
В Ruby это легко. Используйте gsub
для глобальной замены текста, или sub
для одного случая. Вот быстрый пример:
# Исходная строка
phrase = "Hello, world!"
# Замените 'world' на 'Ruby'
puts phrase.gsub('world', 'Ruby')
# => Hello, Ruby!
# Замените только первое вхождение 'l'
puts phrase.sub('l', '7')
# => He7lo, world!
Выходные данные? Первый принт показывает "Hello, Ruby!"
, второй дает "He7lo, world!"
.
Подробнее
Методы gsub
и sub
существуют в Ruby с его первых дней, отражая концепцию замены из более старых языков, таких как Perl. Альтернативы? Конечно, вы могли бы использовать регулярные выражения для более сложных шаблонов, или даже соединить split
и join
, если чувствуете в себе творческую жилку.
Что круто, так это возможность Ruby использовать блоки с gsub
. Вместо простого поиска и замены вы можете сделать серьезную работу внутри этого блока:
# Сделать каждое слово с заглавной буквы
puts "make me pretty".gsub(/\b\w/) { |match| match.upcase }
# => Make Me Pretty
Зачем это нужно? Для начала, использование регулярных выражений с gsub
позволяет вам бороться с нюансированными случаями, когда вам нужно больше утонченности, чем простое ‘найди это, замени на то’.
Смотрите также
Оттачивайте свои навыки - окунитесь в документацию или ознакомьтесь с этими ресурсами:
Поняли? Отлично. Теперь идите играть со строками.