所以我购买了一个 txt 文件中的电子邮件列表,当然还有一堆电子邮件地址,尽管它们与我不太关心的其他文本混合在一起。最后,我只想提取电子邮件地址并将它们保存到一个新文件中。我如何使用 Ruby 完成此操作?
我还有很长的路要走,但我已经尝试过:
VALID_EMAIL_REGEX = /\A([\w+\-].?)+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i
emails = "id,pwsid,pid,age,sex,domain,orderamount,first_order_amount,cobrand_id,show_lang,profile_type,handle,email
374380696,310579607_70200,g1067409-pct.subregmem,27,1,gmail.com,0,0,0,english,0,parineeti,rishav.kr2055@gmail.com
374380707,310579618_50472,g1067409-pct.subregmem,27,1,gmail.com,0,0,0,english,0,rajuhalchal,hopowertuls@gmail.com
374380708,310579619_86273,g1227112-pct.subposhgay,45,1,mail.com,0,0,21194,english,0,hertsmale2012,herstmale@mail.com
374380712,310579622_52452,p1911455.sub213,46,1,gmail.com,0,0,31384,english,0,anchezchris0360,Sanchezchris03@gmail.com"
emails_split = emails.split(/,/)
def keep_only_email(email)
email =~ VALID_EMAIL_REGEX
end
keep_only_email(emails_split)
请帮忙,
干杯! 美联社
最佳答案
看起来这是一个 CSV 文件,你可以这样解析它。
require 'csv'
csv_text = File.read('input.csv')
csv = CSV.parse(csv_text, headers: true)
file = File.open("output.csv", "w")
csv.each do |row|
file.write("#{row['email']}\n")
end
关于ruby-on-rails - 使用 ruby 从逗号分隔的文件中提取电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30956018/