0

メールアドレスの長いリストを、次のような行に分割したいと考えています。

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

4 に答える 4

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']
于 2012-04-07T13:35:39.650 に答える
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
于 2012-04-07T13:36:44.113 に答える
0

正規表現を使用するのはどうですか:

import re
elist = re.findall(r'([^;,]+)', long_list)
print "".join("\n", elist)
于 2012-04-07T13:37:05.283 に答える
0

それらを単一の複数行の文字列として維持したい場合は、単純な文字列置換でうまくいきます。

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

より柔軟なソリューションでは、正規表現を使用できます。

import re
re.sub(r'\s+;\s+', '\n')
于 2012-04-07T13:42:28.853 に答える