рельсы, поиск строки и обрезка текстового блока - PullRequest
0 голосов
/ 18 ноября 2010

Учитывая текстовый блок как

yada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yadayada yada

On Tue, Nov 16, 2010 at 9:23 PM, Tekkub <tender+xxxxxxx@tenderapp.com> wrote:

С Rails3, я хотел бы знать, учитывая текстовый блок, как найти строку как:

On Tue, Nov 16, 2010 at 9:23 PM, Tekkub <tender+xxxxxxx@tenderapp.com> wrote:

И затемсоздайте новую переменную только с текстом над соответствующей строкой.

Спасибо

...

Идеи: 1. Сначала нужно сгенерировать эту строку, указав день, месяц:

On Tue, Nov 16, 2010 at 9:23 PM, Tekkub <tender+xxxxxxx@tenderapp.com> wrote:
  1. Использовать эту строку, чтобы потом НАЙТИ?а некоторые как применять ЛЕВЫЙ?

1 Ответ

2 голосов
/ 18 ноября 2010

Итак, вы можете сделать это, используя метод scan() из класса String в ruby ​​и регулярное выражение. Этот метод хрупок, потому что он основан на том факте, что On всегда будет начинать искомую строку, а : всегда будет ее заканчивать Но если вы скажете, что «так и должно быть», тогда это будет хорошо работать. В этом примере кода предполагается, что @emailreply является переменной экземпляра, содержащей все тело ответа электронной почты в виде строки, и возвращает массив 1, содержащий выдержки. scan() возвращает массив всех совпадений регулярных выражений из строки.

 def extract_info
    extracts = @emailreply.scan(/On.*?:/)
    extracts
 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...