2011-03-05 37 views
0

任何人都知道創業板是用於導入一個充滿電子郵件的CSV文件嗎?Rails - 導入電子郵件的CSV文件

的挑戰是,給予相同的電子郵件列表:

"fname lname" <[email protected]>, "fname lname" <[email protected]>, "fname lname" <[email protected]>, "fname lname" <[email protected]>, "fname lname" <[email protected]>, "fname lname" <[email protected]>, "fname lname" <[email protected]>, "fname lname" <[email protected]>, "fname lname" <[email protected]> 

我想提取的名稱和電子郵件,而不僅僅是電子郵件。

任何想法?

+0

你試過FasterCSV嗎? – Shreyas

回答

2

紅寶石有built-in CSV support,並有管理CSV文件,如FasterCSV良好的寶石。這就是說,它看起來並不像你有一個「正確」的CSV(它存儲表格數據),而只是一個由逗號分隔的數據列表。你可以使用像this one這樣的正則表達式來獲得你想要的日期:

data = '"Some Guy" <[email protected]>, "Another Person" <[email protected]>, "One More" <[email protected]>' 
regex = /("([^"]*)" <([^>]*)>)/ 

data.scan(regex) do |match| 
    puts "Name: #{match[1]}, Email: #{match[2]}" 
end 

# Output: 

Name: Some Guy, Email: [email protected] 
Name: Another Person, Email: [email protected] 
Name: One More, Email: [email protected] 
+0

感謝布蘭登,但似乎並沒有工作。我提交的日誌顯示爲:參數:{「authenticity_token」=>「XsU9VCt35gFB/ZQKDibUnXvX5d1LxytwenE + 1OiT74Y =」,「utf8」=>「✓」,「group_id」=>「58」,「emails」=> >「[email protected],[email protected],[email protected],Brad Smith <[email protected]>,[email protected],re joyce <[email protected]>」}} – AnApprentice

+0

但是當我做了下面的事情時,有0場比賽。 @emails_submitted =參數[:電子郵件] email_csv_regex = /( 「([^」] *)」 <([^>] *)>)/ @ emails_submitted.scan(email_csv_regex)做|匹配| Rails.logger.info '你好' Rails.logger.info「名稱:#{match [1]},電子郵件:#{match [2]}」 Rails.logger.info'Good bye' end – AnApprentice

+0

此外REGEX還允許電子郵件是' t的FNAME LNAME <[email protected]>格式,而只是在[email protected]格式? – AnApprentice