Изменение коллекции атрибутов строки объекта с помощью регулярных выражений - PullRequest
0 голосов
/ 19 марта 2011

У меня есть коллекция объектов Item. У каждого предмета есть описание. Я хочу перебрать всю коллекцию, и для каждого атрибута описания я хочу заменить слово «доставить» на «отправить». Слово «доставить» появляется в каждом описании. Например:

  • пункт 1: мы доставим в течение 3 дней.
  • пункт 2: мы доставим в течение 2 дней.
  • пункт 3: мы доставим в течение 7 дней.
  • ...

1 Ответ

2 голосов
/ 19 марта 2011

Для простого поиска и замены это звучит так, как будто вы хотите что-то вроде этого:

collection.each { |item| item.description.gsub!('deliver', 'send') }

Если это объекты ActiveRecord или что-то подобное, вам также может понадобиться item.save.

Если вам нужно более мощное сопоставление с образцом, String#sub и связанные с ним методы могут принять регулярное выражение вместо строки для первого аргумента, но, вероятно, быстрее и удобнее читать строку, если это все, что вам нужно.Дополнительные сведения и другие параметры см. В документации по API для строки # sub .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...