My input is
email_list =
"mail1@mail.com,mail2@mail.com, mail3@mail.com mail4@mail.com
mail5@mail.com"
Excepted output is
['mail1@mail.com', 'mail2@mail.com', 'mail3@mail.com', 'mail4@mail.com', 'mail5@mail.com']
I tried this method, but it will split only (,) separated. please let me know.
output = email_list.split(',')
Thanks in advance...
You can use regular expression :
>>> import re
>>> email_list = "mail1@mail.com,mail2@mail.com, mail3@mail.com mail4@mail.com"
>>> re.split(r'[, ]*',email_list)
['mail1@mail.com', 'mail2@mail.com', 'mail3@mail.com', 'mail4@mail.com']
re.split
split your string based on r'[, ]*'
that split with any combine of comma ( ,
) and space ( ).
Without regex,
>>> email_list = "mail1@mail.com,mail2@mail.com, mail3@mail.com mail4@mail.com"
>>> [i for x in email_list.split(',') if x for i in x.split(' ') if i]
['mail1@mail.com', 'mail2@mail.com', 'mail3@mail.com', 'mail4@mail.com']
Strangely - no one appears to have pointed possibly the most obvious and easiest...
>>> email_list = "mail1@mail.com,mail2@mail.com, mail3@mail.com mail4@mail.com"
>>> email_list.replace(',', ' ').split()
['mail1@mail.com', 'mail2@mail.com', 'mail3@mail.com', 'mail4@mail.com']
Also without regex :)
import re
email_list = "mail1@mail.com,mail2@mail.com, mail3@mail.com mail4@mail.com"
print filter(lambda x:x, sum([x.split(",") for x in email_list.split(" ")], []))
Try
email_list.replace(" ","")
Before you use
output = email_list.split(',')
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.