如何解析此字符串以提取电子邮件?

时间:2016-08-20 15:42:29

标签: ruby

我想在IRB中使用Ruby代码从一长串电子邮件中提取电子邮件。这是格式:

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

我有一个像这样的数千个列表,我想删除字符串的后半部分,只是提取电子邮件。我怎样才能做到这一点?

我试过这个:

 input.split('.').select do |email| 
   email.downcase.include?('@')
 end

2 个答案:

答案 0 :(得分:1)

如何使用split

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

修改:如果电子邮件位于Array

emails.map { |email| email.split(':')[0] }

答案 1 :(得分:0)

如果电子邮件存储在单个字符串中,您可以使用正则表达式来检索所有电子邮件。

类似的东西:

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

其中邮件是字符串。