如何使用Python 3.2.2拆分一长串电子邮件地址

时间:2012-04-07 13:30:50

标签: python python-3.x

我希望将一长串电子邮件地址分成若干行,例如:

test01@testing.com; test02@testing.com; test03#testing1.com; test04@testing2.com,

我希望将它们分成几行:

test01@testing.com (carriage return)
test02@testing.com (carriage return)
test03#testing1.com (carriage return)
test04@testing2.com

任何人都可以帮忙吗?感谢。

4 个答案:

答案 0 :(得分:0)

您可以使用split按分号和strip拆分以删除任何空格:

>>> s = "test01@testing.com; test02@testing.com; test03#testing1.com"
>>> [(e.strip() + '\n') for e in s.split(';')]
['test01@testing.com\n', 'test02@testing.com\n', 'test03#testing1.com\n']

答案 1 :(得分:0)

您可以使用split分隔多行地址,strip删除逗号和分号,join重新排列地址。

>>> s = 'test01@testing.com; test02@testing.com; test03#testing1.com; test04@testing2.com,'
>>> print('\n'.join(m.strip(',;') for m in s.split())))
test01@testing.com
test02@testing.com
test03#testing1.com
test04@testing2.com

答案 2 :(得分:0)

如何使用正则表达式:

import re
elist = re.findall(r'([^;,]+)', long_list)
print "".join("\n", elist)

答案 3 :(得分:0)

如果您只想将它​​们维护为单个多行字符串,则可以使用简单的字符串替换:

long_list.replace('; ', '\n')

更灵活的解决方案可以使用正则表达式:

import re
re.sub(r'\s+;\s+', '\n')