Как разобрать эту строку, чтобы извлечь письмо?

ruby

64 просмотра

2 ответа

Я хотел бы использовать код Ruby в IRB для извлечения писем из длинного списка писем. Вот формат:

boogieshooz@hotmail.com: 6c86ba58f135f43b54e33954934e00b8 booking@abandontheory.com: 6c86ba58f135f43b54e33954934e00b8

У меня есть такой список из тысячи, и я хочу удалить вторую половину строки и просто извлечь письмо. Как мне этого добиться?

Я попробовал это:

 input.split('.').select do |email| 
   email.downcase.include?('@')
 end
Автор: Anthony Pinto Источник Размещён: 08.11.2019 11:31

Ответы (2)


1 плюс

Как насчет использования split?

"boogieshooz@hotmail.com:6c86ba58f135f43b54e33954934e00b8".split(':')[0]

Изменить: если электронные письма находятся в Array

emails.map { |email| email.split(':')[0] }
Автор: kcdragon Размещён: 20.08.2016 03:44

0 плюса

Если электронные письма хранятся в одной строке, вы можете использовать регулярное выражение для получения всех электронных писем.

Что-то вроде:

address = mails.scan(/(.*@.*?)\:/)

где почта это строка.

Автор: Dom Corvasce Размещён: 21.08.2016 10:51
Вопросы из категории :
32x32